Next: MAX, Previous: MASKR, Up: Intrinsic Procedures [Contents][Index]

### 9.186 `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`.`MATRIX_A`and`MATRIX_B`shall not both be rank one arrays.*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*: