CxQZ
Advanced Analysis Library Only
AnalysisLibErrType CxQZ (void *inputMatrixA, void *inputMatrixB, ssize_t matrixSize, int order, void *matrixAA, void *matrixBB, void *matrixQ, void *matrixZ, NIComplexNumber alpha[], NIComplexNumber beta[], void *leftEigenvectors, void *rightEigenvectors);
Purpose
Performs the QZ decomposition of a pair of complex matrices (A,B) as follows:
[AA, BB, Q, Z, alpha, beta, leftVec, rightVec] = QZ(A,B)
| where | QHAZ = AA |
| QHBZ = BB | |
| AA and BB are upper triangular matrices | |
| 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 the conjugate 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 upper 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 unitary matrix Q. |
| matrixZ | void * | The unitary matrix Z. |
| alpha | NIComplexNumber [] | alpha and beta together define the generalized eigenvalues of (inputMatrixA, inputMatrixB) as alpha/beta. |
| beta | NIComplexNumber [] | alpha and beta together define the generalized eigenvalues of (inputMatrixA, inputMatrixB) as alpha/beta. |
| leftEigenvectors | void * | The left generalized eigenvectors of the matrix pair (A, B). If on input leftEigenvectors = NULL, the left eigenvectors are not computed. |
| rightEigenvectors | void * | The right generalized eigenvectors of the 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