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).