torch.matmul
torch.matmul(input, other, *, out=None) -> Tensor
Matrix product of two tensors.
The behavior depends on the dimensionality of the tensors as
   follows:


If both tensors are 1-dimensional, the dot product (scalar) is
     returned.


If both arguments are 2-dimensional, the matrix-matrix product is
     returned.


If the first argument is 1-dimensional and the second argument is
     2-dimensional, a 1 is prepended to its dimension for the purpose
     of the matrix multiply. After the matrix multiply, the prepended
     dimension is removed.


If the first argument is 2-dimensional and the second argument is
     1-dimensional, the matrix-vector product is returned.


If both arguments are at least 1-dimensional and at least one
     argument is N-dimensional (where N > 2), then a batched matrix
     multiply is returned.  If the first argument is 1-dimensional, a
     1 is prepended to its dimension for the purpose of the batched

