QZ
Advanced Analysis Library Only
AnalysisLibErrType QZ (void *inputMatrixA, void *inputMatrixB, ssize_t matrixSize, int order, void *matrixAA, void *matrixBB, void *matrixQ, void *matrixZ, NIComplexNumber alpha[], double beta[], void *leftEigenvectors, void *rightEigenvectors);
Purpose
Performs the QZ decomposition of a pair of real matrices (A,B). QZ decomposition decomposes a matrix pair (A,B) as follows:
[AA, BB, Q, Z, alpha, beta, leftVec, rightVec] = QZ(A,B)
where | QHAZ = AA and QHBZ = BB |
AA is a quasi-triangular matrix | |
BB is an upper triangular matrix | |
Q and Z are orthogonal matrices | |
A * [rightVec] * diag(beta) = B * [rightVec] * diag(alpha) | |
diag(beta) * [leftVec]H * A = diag(alpha) * [leftVec]H * B | |
H denotes transpose |
Parameters
Input | ||
Name | Type | Description |
inputMatrixA | void * | The input matrix A. |
inputMatrixB | void * | The input matrix B. |
matrixSize | ssize_t | The order of matrices inputMatrixA and inputMatrixB. |
order | int | Specifies how to reorder the computed eigenvalues and corresponding Schur vectors. order must be one of the following values:
|
Output | ||
Name | Type | Description |
matrixAA | void * | The quasi-triangular matrix such that QHAZ = matrixAA. If matrixAA = NULL, matrixAA is not computed. |
matrixBB | void * | The upper triangular matrix such that QHBZ = matrixBB. If matrixBB = NULL, matrixBB is not computed. |
matrixQ | void * | The orthogonal matrix Q. |
matrixZ | void * | The orthogonal matrix Z. |
alpha | NIComplexNumber [] | alpha and beta together define the generalized eigenvalues of (inputMatrixA, inputMatrixB). |
beta | double [] | alpha and beta together define the generalized eigenvalues of (inputMatrixA, inputMatrixB). |
leftEigenvectors | void * | The left generalized eigenvectors of matrix pair (A, B). If, on input, leftEigenvectors = NULL, the left eigenvectors are not computed. |
rightEigenvectors | void * | The right generalized eigenvectors of matrix pair (A, B). If, on input, rightEigenvectors = NULL, the right eigenvectors are not computed. |
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 8.0 and later