MatrixMultiply
MatrixMultiply matrixA [/T], matrixB [/T] [, additional matrices ]
The MatrixMultiply operation calculates matrix expression A*B and puts the result in a matrix wave named M_product generated in the current data folder. The /T flag can be included to indicate that the transpose of the specified matrix should be used.
If any of the source matrices are complex, then the result is complex.
Parameters
If A is an NxP matrix then B must be a PxM matrix and the product is an NxM matrix. Up to 10 matrices can be specified although it is unlikely you will ever need more than three. The inner dimensions must be the same. Multiplication is performed from the right to the left.
It is legal for M_product to be one of the input matrices. Thus
MatrixMultiply A,B,C
could also be done as:
MatrixMultiply B,C
MatrixMultiply A,M_product
Flags
| /DEST=dWave | Use this flag to specify the destination wave for the product matrix. If you do not use this flag, the data is saved in the wave M_product in the current data folder. | |
| This flag was added in Igor Pro 10.00. | ||
| /FREE | Creates the specified destination wave as a free wave. This flag does not affect any of the output waves that are created by default without explicit user-specified destination. | |
| /FREE is allowed only in functions and only if the destination waves are simple names or wave reference structure fields. | ||
| See Free Waves for more discussion. | ||
| The /FREE flag was added in Igor Pro 10.00. | ||
Details
Supports multiplication of complex matrices.
An error is generated if the dimensioning of the input arrays is invalid.
See Also
MatrixOp and MatrixMultiplyAdd for additional efficient matrix operations.
Matrix Math Operations for more about Igor's matrix routines.
FastOp for additional efficient non-matrix operations.