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