## 9.3.93 MATMUL (MATRIX_A, MATRIX_B)

Description: | Performs matrix multiplication of numeric or logical matrices.
Class: | Transformational function; Generic
Arguments: | MATRIX_A | Must be an array of rank one or two. It must be of numeric (integer, real, or complex) or logical type.
| MATRIX_B | Must be an array of rank one or two. It must be of numeric type if MATRIX_A is of numeric type or logical type if MATRIX_A is logical type. At least one argument must be of rank two. The size of the first (or only) dimension of MATRIX_B must equal the size of the last (or only) dimension of MATRIX_A.
Results: | The result is an array whose type depends on the data type of the arguments, according to the rules shown in Table 4-2. The rank and shape of the result depends on the rank and shapes of the arguments, as follows: If MATRIX_A has shape (n, m) and MATRIX_B has shape (m, k), the result is a rank-two array with shape (n, k). If MATRIX_A has shape (m) and MATRIX_B has shape (m, k), the result is a rank-one array with shape (k). If MATRIX_A has shape (n, m) and MATRIX_B has shape (m), the result is a rank-one array with shape (n). If the arguments are of numeric type, element (i, j) of the result has the value SUM ((row i of MATRIX_A) * (column j of MATRIX_B)). If the arguments are of logical type, element (i, j) of the result has the value ANY ((row i of MATRIX_A) .AND. (column j of MATRIX_B)).

Examples

A is matrix

      [ 2  3  4 ]
      [ 3  4  5 ],

B is matrix

      [ 2  3 ]
      [ 3  4 ]
      [ 4  5 ],

X is vector (1, 2), and Y is vector (1, 2, 3).

The result of MATMUL (A, B) is the matrix-matrix product AB with the value

      [ 29  38 ]
      [ 38  50 ].

The result of MATMUL (X, A) is the vector-matrix product XA with the value (8, 11, 14).

The result of MATMUL (A, Y) is the matrix-vector product AY with the value (20, 26).

Previous Page Next Page Table of Contents