Copyright Digital Equipment Corp. All rights reserved.

MATMUL

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