CxSolveEqs

Advanced Analysis Library Only

AnalysisLibErrType CxSolveEqs (void *inputArray, int numberOfRows, int numberOfColumns, int matrixType, void *rightHandSideVectors, int numberOfRightHandVectors, void *outputArray);

Purpose

CxSolveEqs is a versatile complex linear equations solver that solves complex linear equations of the format AX = B.

National Instruments recommends you use this function instead of CxGenLinEqs. CxSolveEqs provides functionality in addition to the functionality CxGenLinEqs provides. CxSolveEqs supports in place operation if matrixType is not 0 (General matrix). That is, you can call the function with outputArray = NULL or outputArray = rightHandSideVectors so that the answer vector(s) overwrites rightHandSideVectors directly. Also, CxSolveEqs supports multiple right hand known vectors, whereas CxGenLinEqs supports only a single right hand known vector.

Parameters

Input
Name Type Description
inputArray numeric array The coefficient matrix A.
numberOfRows integer The number of rows in inputArray.
numberOfColumns integer The number of columns in inputArray.
matrixType integer The matrix type of inputArray. matrixType must be one of the following values:
  • GENERAL_MATRIX (0): inputArray is a General matrix. The SVD algorithm is used to find the least squares solution of AX = B.
  • SYMPOS_MATRIX (1): inputArray is symmetrical and positive definite. The Cholesky algorithm is used. numberOfColumns is not referenced.
  • LOTRI_MATRIX (2): inputArray is a lower triangular matrix. numberOfColumns is not referenced.
  • UPTRI_MATRIX (3): inputArray is an upper triangular matrix. numberOfColumns is not referenced.
rightHandSideVectors void * The right-hand known vector(s). rightHandSideVectors is a matrix in a linear system with multiple right-hand known vectors. In this case, each column of rightHandSideVectors is a known vector.
numberOfRightHandVectors integer The number of columns of rightHandSideVectors, which is the number of right-hand known vectors in AX = B.
Output
Name Type Description
outputArray numeric array The answer vector(s).

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.