matrix multiply and removed after.  If the second argument is
     1-dimensional, a 1 is appended to its dimension for the purpose
     of the batched matrix multiple and removed after. The non-matrix
     (i.e. batch) dimensions are broadcasted (and thus must be
     broadcastable).  For example, if "input" is a (j \times 1 \times
     n \times n) tensor and "other" is a (k \times n \times n) tensor,
     "out" will be a (j \times k \times n \times n) tensor.
 Note that the broadcasting logic only looks at the batch
 dimensions when determining if the inputs are broadcastable, and
 not the matrix dimensions. For example, if "input" is a (j \times
 1 \times n \times m) tensor and "other" is a (k \times m \times
 p) tensor, these inputs are valid for broadcasting even though
 the final two dimensions (i.e. the matrix dimensions) are
 different. "out" will be a (j \times k \times n \times p) tensor.

This operation has support for arguments with sparse layouts. In