mult_matrix_modT_mult_matrix_modMultMatrixModMultMatrixMod (Operator)

Name

mult_matrix_modT_mult_matrix_modMultMatrixModMultMatrixMod — Multiply two matrices.

Signature

mult_matrix_mod( : : MatrixAID, MatrixBID, MultType : )

Herror T_mult_matrix_mod(const Htuple MatrixAID, const Htuple MatrixBID, const Htuple MultType)

void MultMatrixMod(const HTuple& MatrixAID, const HTuple& MatrixBID, const HTuple& MultType)

void HMatrix::MultMatrixMod(const HMatrix& MatrixBID, const HString& MultType) const

void HMatrix::MultMatrixMod(const HMatrix& MatrixBID, const char* MultType) const

void HMatrix::MultMatrixMod(const HMatrix& MatrixBID, const wchar_t* MultType) const   (Windows only)

static void HOperatorSet.MultMatrixMod(HTuple matrixAID, HTuple matrixBID, HTuple multType)

void HMatrix.MultMatrixMod(HMatrix matrixBID, string multType)

Description

The operator mult_matrixmult_matrixMultMatrixMultMatrixMultMatrix computes the product of the input matrices MatrixAMatrixAMatrixAMatrixAmatrixA and MatrixBMatrixBMatrixBMatrixBmatrixB defined by the matrix handles MatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAID and MatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBID. The input matrix MatrixAMatrixAMatrixAMatrixAmatrixA is overwritten with the result. Access to the elements of the matrix is possible e.g. with the operator get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrix. If desired, one or both input matrices will be transposed for the multiplication.

The type of multiplication can be selected via MultTypeMultTypeMultTypeMultTypemultType:

'AB'"AB""AB""AB""AB":

The matrices MatrixAMatrixAMatrixAMatrixAmatrixA and MatrixBMatrixBMatrixBMatrixBmatrixB will not be transposed. Therefore, the formula for the calculation of the result is:

MatrixAMatrixAMatrixAMatrixAmatrixA = MatrixAMatrixAMatrixAMatrixAmatrixA * MatrixBMatrixBMatrixBMatrixBmatrixB.

The number of columns of the matrix MatrixAMatrixAMatrixAMatrixAmatrixA must be identical to the number of rows of the matrix MatrixBMatrixBMatrixBMatrixBmatrixB.

Example:

'ATB'"ATB""ATB""ATB""ATB":

The matrix MatrixAMatrixAMatrixAMatrixAmatrixA will be transposed. The matrix MatrixBMatrixBMatrixBMatrixBmatrixB will not be transposed. Therefore, the formula for the calculation of the result is:

The number of rows of the matrix MatrixAMatrixAMatrixAMatrixAmatrixA must be identical to the number of rows of the matrix MatrixBMatrixBMatrixBMatrixBmatrixB.

Example:

'ABT'"ABT""ABT""ABT""ABT":

The matrix MatrixAMatrixAMatrixAMatrixAmatrixA will not be transposed. The matrix MatrixBMatrixBMatrixBMatrixBmatrixB will be transposed. Therefore, the formula for the calculation of the result is:

The number of columns of the matrix MatrixAMatrixAMatrixAMatrixAmatrixA must be identical to the number of columns of the matrix MatrixBMatrixBMatrixBMatrixBmatrixB.

Example:

'ATBT'"ATBT""ATBT""ATBT""ATBT":

The matrix MatrixAMatrixAMatrixAMatrixAmatrixA and the matrix MatrixBMatrixBMatrixBMatrixBmatrixB will be transposed. Therefore, the formula for the calculation of the result is:

The number of rows of the matrix MatrixAMatrixAMatrixAMatrixAmatrixA must be identical to the number of columns of the matrix MatrixBMatrixBMatrixBMatrixBmatrixB.

Example:

Execution Information

This operator modifies the state of the following input parameter:

The value of this parameter may not be shared across multiple threads without external synchronization.

Parameters

MatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAID (input_control, state is modified)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the input matrix A.

MatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBID (input_control)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the input matrix B.

MultTypeMultTypeMultTypeMultTypemultType (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Type of the input matrices.

Default value: 'AB' "AB" "AB" "AB" "AB"

List of values: 'AB'"AB""AB""AB""AB", 'ABT'"ABT""ABT""ABT""ABT", 'ATB'"ATB""ATB""ATB""ATB", 'ATBT'"ATBT""ATBT""ATBT""ATBT"

Result

If the parameters are valid, the operator mult_matrix_modmult_matrix_modMultMatrixModMultMatrixModMultMatrixMod returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

create_matrixcreate_matrixCreateMatrixCreateMatrixCreateMatrix

Possible Successors

get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrix, get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixGetValueMatrix

Alternatives

mult_matrixmult_matrixMultMatrixMultMatrixMultMatrix

See also

mult_element_matrixmult_element_matrixMultElementMatrixMultElementMatrixMultElementMatrix, mult_element_matrix_modmult_element_matrix_modMultElementMatrixModMultElementMatrixModMultElementMatrixMod, div_element_matrixdiv_element_matrixDivElementMatrixDivElementMatrixDivElementMatrix, div_element_matrix_moddiv_element_matrix_modDivElementMatrixModDivElementMatrixModDivElementMatrixMod, transpose_matrixtranspose_matrixTransposeMatrixTransposeMatrixTransposeMatrix, transpose_matrix_modtranspose_matrix_modTransposeMatrixModTransposeMatrixModTransposeMatrixMod

References

David Poole: “Linear Algebra: A Modern Introduction”; Thomson; Belmont; 2006.
Gene H. Golub, Charles F. van Loan: “Matrix Computations”; The Johns Hopkins University Press; Baltimore and London; 1996.

Module

Foundation