CxMatrixMul

Advanced Analysis Library Only

AnalysisLibErrType CxMatrixMul (void *matrixX, void *matrixY, int numberRowsX, int colRowsXY, int numberColsY, void *outputMatrix);

Purpose

Multiplies two matrices. CxMatrixMul uses the following formula to obtain the output matrix.

i = matrix row index
j = matrix column index
k = number of columns/rows in X/Y

Ensure that the matrix sizes are valid for matrix multiplication. You must meet the following size constraints:

Parameters

Input
Name Type Description
matrixX numeric array First matrix to multiply. The number of columns in matrixX must match the number of rows in matrixY. This matrix must be an array of ComplexNum.

The following C typedef statement defines the ComplexNum structure:

typedef struct {

double real;

double imaginary;

} ComplexNum;

matrixY numeric array Second matrix to multiply. The number of columns in matrixX must match the number of rows in matrixY. This matrix must be an array of ComplexNum.

The following C typedef statement defines the ComplexNum structure:

typedef struct {

double real;

double imaginary;

} ComplexNum;

numberRowsX integer Number of rows in matrixX.
colRowsXY integer Number of columns in matrixX, which must equal the number of rows in matrixY.
numberColsY integer Number of columns in matrixY.
Output
Name Type Description
outputMatrix numeric array Result of the matrix multiplication, as an array of ComplexNum.

The following C typedef statement defines the ComplexNum structure:

typedef struct {

double real;

double imaginary;

} ComplexNum;

Return Value

Name Type Description
status AnalysisLibErrType A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.