### 8.164 `MATMUL` — matrix multiplication

Description:
  Performs a matrix multiplication on numeric or logical arguments.
Standard:
  Fortran 95 and later
Class:
  Transformational function
Syntax:
  `RESULT = MATMUL(MATRIX_A, MATRIX_B)`
Arguments:

  MATRIX_A | An array of `INTEGER`, `REAL`, `COMPLEX`, or `LOGICAL` type, with a rank of one or two.
  MATRIX_B | An array of `INTEGER`, `REAL`, or `COMPLEX` type if MATRIX_A is of a numeric type; otherwise, an array of `LOGICAL` type. The rank shall be one or two, and the first (or only) dimension of MATRIX_B shall be equal to the last (or only) dimension of MATRIX_A.

Return value:
  The matrix product of MATRIX_A and MATRIX_B. The type and kind of the result follow the usual type and kind promotion rules, as for the `*` or `.AND.` operators.
See also: