MATMUL (matrix-a, matrix-b)
Class: Transformational function - Generic
Performs matrix multiplication of numeric or logical matrices.
The "matrix"s can be arrays of rank one or two. At least one
argument must be rank two. The size of the first (or only)
dimension of "matrix-b" must equal the last (or only) dimension of
"matrix-a".
The type of the resulting array depends on the data types of the
arguments. The rank and shape of the result follows:
o 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).
o If "matrix-a" has shape (m) and "matrix-b" has shape (m,k), the
result is a rank-one array with shape (k).
o If "matrix-a" has shape (n,m) and "matrix-b" has shape (m), the
result is a rank-one array with shape (n).
Examples:
Consider the following:
A is the matrix |2 3 4|, B is the matrix |2 3|,
|3 4 5| |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).