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 42.
The rank and shape of the result depends on the rank and shapes of
the arguments, as follows:

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 matrixmatrix product AB with the value
[ 29 38 ]
[ 38 50 ].
The result of MATMUL (X, A) is the vectormatrix product XA with the value (8, 11, 14).
The result of MATMUL (A, Y) is the matrixvector product AY with the value (20, 26).