code: public SDVariable[] batchMmul(SDVariable[] matricesA, SDVariable[] matricesB,
                                    boolean transposeA, boolean transposeB) {
          return batchMmul(null, matricesA, matricesB, transposeA, transposeB);
      }
docs: Matrix multiply a batch of matrices. matricesA and matricesB have to be arrays of same
  length and each pair taken from these sets has to have dimensions (M, N) and (N, K),
  respectively. If transposeA is true, matrices from matricesA will have shape (N, M) instead.
  Likewise, if transposeB is true, matrices from matricesB will have shape (K, N).
  <p>
  <p>
  The result of this operation will be a batch of multiplied matrices. The
  result has the same length as both input batches and each output matrix is of shape (M, K).
  
  @param matricesA  First array of input matrices, all of shape (M, N) or (N, M)
  @param matricesB  Second array of input matrices, all of shape (N, K) or (K, N)
  @param transposeA whether first batch of matrices is transposed.
  @param transposeB whether second batch of matrices is transposed.
  @return Array of multiplied SDVariables of shape (M, K)