matmul¶
-
astropy.utils.compat.numpy.matmul(a, b, out=None)[source] [edit on github]¶ Matrix product of two arrays.
The behavior depends on the arguments in the following way.
- If both arguments are 2-D they are multiplied like conventional matrices.
- If either argument is N-D, N > 2, it is treated as a stack of matrices residing in the last two indexes and broadcast accordingly.
- If the first argument is 1-D, it is promoted to a matrix by prepending a 1 to its dimensions. After matrix multiplication the prepended 1 is removed.
- If the second argument is 1-D, it is promoted to a matrix by appending a 1 to its dimensions. After matrix multiplication the appended 1 is removed.
Multiplication by a scalar is not allowed, use
*instead. Note that multiplying a stack of matrices with a vector will result in a stack of vectors, but matmul will not recognize it as such.matmuldiffers fromdotin two important ways.- Multiplication by scalars is not allowed.
- Stacks of matrices are broadcast together as if the matrices were elements.
Parameters: a : array_like
First argument.
b : array_like
Second argument.
out : ndarray, optional
Output argument. This must have the exact kind that would be returned if it was not used. In particular, it must have the right type, must be C-contiguous, and its dtype must be the dtype that would be returned for
dot(a,b). This is a performance feature. Therefore, if these conditions are not met, an exception is raised, instead of attemptingNotes
This routine mimicks
matmulusingeinsum. See http://docs.scipy.org/doc/numpy/reference/generated/numpy.matmul.html