Name
mult_matrixmult_matrixMultMatrixmult_matrixMultMatrixMultMatrix — Multiply two matrices.
The operator mult_matrixmult_matrixMultMatrixmult_matrixMultMatrixMultMatrix computes the product of the input
matrices MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA and MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB defined by the
matrix handles MatrixAIDMatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAID and MatrixBIDMatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBID. A new
matrix MatrixMultMatrixMultMatrixMultMatrixMultMatrixMultmatrixMult is generated with the result. The
operator returns the matrix handle MatrixMultIDMatrixMultIDMatrixMultIDMatrixMultIDMatrixMultIDmatrixMultID of the
matrix MatrixMultMatrixMultMatrixMultMatrixMultMatrixMultmatrixMult. Access to the elements of the matrix
is possible e.g. with the operator get_full_matrixget_full_matrixGetFullMatrixget_full_matrixGetFullMatrixGetFullMatrix. If
desired, one or both input matrices will be transposed for the
multiplication.
The type of multiplication can be selected via MultTypeMultTypeMultTypeMultTypeMultTypemultType:
- 'AB'"AB""AB""AB""AB""AB":
-
The matrices MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA
and MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB will not be transposed. Therefore, the formula
for the calculation of the result is:
MatrixMultMatrixMultMatrixMultMatrixMultMatrixMultmatrixMult = MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA * MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB.
The number of columns of the matrix MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA must be
identical to the number of rows of the matrix MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB.
Example:
- 'ATB'"ATB""ATB""ATB""ATB""ATB":
-
The matrix MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA
will be transposed. The matrix MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB will not be
transposed. Therefore, the formula for the calculation of the
result is:
The number of rows of the matrix MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA must be
identical to the number of rows of the matrix MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB.
Example:
- 'ABT'"ABT""ABT""ABT""ABT""ABT":
-
The matrix MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA
will not be transposed. The matrix MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB will be
transposed. Therefore, the formula for the calculation of the
result is:
The number of columns of the matrix MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA must be
identical to the number of columns of the matrix
MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB.
Example:
- 'ATBT'"ATBT""ATBT""ATBT""ATBT""ATBT":
-
The matrix MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA
and the matrix MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB will be transposed. Therefore,
the formula for the calculation of the result is:
The number of rows of the matrix MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA must be
identical to the number of columns of the matrix
MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB.
Example:
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Matrix handle of the input matrix A.
Matrix handle of the input matrix B.
Type of the input matrices.
Default value:
'AB'
"AB"
"AB"
"AB"
"AB"
"AB"
List of values: 'AB'"AB""AB""AB""AB""AB", 'ABT'"ABT""ABT""ABT""ABT""ABT", 'ATB'"ATB""ATB""ATB""ATB""ATB", 'ATBT'"ATBT""ATBT""ATBT""ATBT""ATBT"
Matrix handle of the multiplied matrices.
If the parameters are valid, the operator mult_matrixmult_matrixMultMatrixmult_matrixMultMatrixMultMatrix
returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.
create_matrixcreate_matrixCreateMatrixcreate_matrixCreateMatrixCreateMatrix
get_full_matrixget_full_matrixGetFullMatrixget_full_matrixGetFullMatrixGetFullMatrix,
get_value_matrixget_value_matrixGetValueMatrixget_value_matrixGetValueMatrixGetValueMatrix
mult_matrix_modmult_matrix_modMultMatrixModmult_matrix_modMultMatrixModMultMatrixMod
mult_element_matrixmult_element_matrixMultElementMatrixmult_element_matrixMultElementMatrixMultElementMatrix,
mult_element_matrix_modmult_element_matrix_modMultElementMatrixModmult_element_matrix_modMultElementMatrixModMultElementMatrixMod,
div_element_matrixdiv_element_matrixDivElementMatrixdiv_element_matrixDivElementMatrixDivElementMatrix,
div_element_matrix_moddiv_element_matrix_modDivElementMatrixModdiv_element_matrix_modDivElementMatrixModDivElementMatrixMod,
transpose_matrixtranspose_matrixTransposeMatrixtranspose_matrixTransposeMatrixTransposeMatrix,
transpose_matrix_modtranspose_matrix_modTransposeMatrixModtranspose_matrix_modTransposeMatrixModTransposeMatrixMod
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.
Foundation