Admin Production ni-theme
Current Publication

CxQR

LabWindows/CVI

CxQR

Advanced Analysis Library Only

AnalysisLibErrType CxQR (void *inputMatrix, ssize_t numberOfRows, ssize_t numberOfColumns, void *qMatrix, void *rMatrix);

Purpose

Note Note  This function has been superseded by CxQREx.

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 qMatrix is an orthogonal matrix of dimensions n-by-n
rMatrix is an upper triangular matrix of dimensions n-by-m
numberOfRows is the number of rows
numberOfColumns 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.

Parameters

Input
Name Type Description
inputMatrix void * 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 ssize_t The number of rows in inputMatrix.
numberOfColumns ssize_t The number of columns in inputMatrix.
Output
Name Type Description
qMatrix void * 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 void * 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;

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.

Additional Information

Library: Advanced Analysis Library

Include file: analysis.h

LabWindows/CVI compatibility: LabWindows/CVI 5.0 and later