Advanced Analysis Library Only
AnalysisLibErrType CxQR (void *inputMatrix, int numberOfRows, int numberOfColumns, void *QMatrix, void *RMatrix);
![]() |
Note This function is obsolete. National Instruments recommends that you use CxQREx instead. |
Calculates the QR factorization of the complex input matrix. The input matrix can be square or rectangular.
The following formula defines the QR factorization of a n-by-m matrix A such that:
A = QR
where | Q is an orthogonal matrix of dimensions n-by-n |
R is an upper triangular matrix of dimensions n-by-m | |
n is the number of rows | |
m is the number of columns |
In general, QR factorization can be calculated in many different ways. In CxQR, QR factorization uses the Householder algorithm. You can use QR factorization to solve linear systems with more equations than unknowns.
Input | ||
Name | Type | Description |
inputMatrix | numeric array | Input complex matrix. This matrix must be an array of ComplexNum. The following C typedef statement defines the ComplexNum structure:
typedef struct { double real; double imaginary; } ComplexNum; |
numberOfRows | integer | Number of rows in inputMatrix. |
numberOfColumns | integer | Number of columns in inputMatrix. |
Output | ||
Name | Type | Description |
QMatrix | numeric array | Calculated orthogonal matrix of the QR factorization, as an array of ComplexNum. The following C typedef statement defines the ComplexNum structure:
typedef struct { double real; double imaginary; } ComplexNum; |
RMatrix | numeric array | Calculated upper triangular matrix of the QR factorization, as an array of ComplexNum. The following C typedef statement defines the ComplexNum structure:
typedef struct { double real; double imaginary; } ComplexNum; |
Name | Type | Description |
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants. |