Skip to main content

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=dWaveUse 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.
/FREECreates 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.