# Synopsis

PDX_MSGT mth_MultiplyMatrices(long option, double mat1[], int rl1, int nr1, int nc1, int tr1, double mat2[], int rl2, int nr2, int nc2, int tr2, double mat3[], int rl3)

# Purpose

Multiply two matrices (or their transposes).

# Description

This routine multiplies two 2D matrices (or their transposes) with one another.

# Input

## option

Not used.

## mat1

The first (left) 2D matrix to be multiplied.

## rl1

Row length of the mat1 array in the calling program.

## nr1

Number of rows in the matrix mat1.

## nc1

Number of columns in the matrix mat1.

## tr1

Transpose flag : = 0 : Use the matrix mat1. = 1 : Use mat1's transpose.

## mat2

The second (right) 2D matrix to be multiplied.

## rl2

Row length of the mat2 array in the calling program.

## nr2

Number of rows in the matrix mat2.

## nc2

Number of columns in the matrix mat2.

## tr2

Transpose flag : = 0 : Use the matrix mat2. = 1 : Use mat2's transpose.

## rl3

Row length of the 2D array mat3 in the calling program.

# Output

## mat3

Output (product) matrix. Enough memory must be passed in (not checked).

# Return

MTH_NOERR