Admin Production ni-theme
Current Publication

CxQZ

LabWindows/CVI

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)

whereQHAZ = 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:
  • None: The computed eigenvalues are not reordered.
  • REAL_ASCENDING: Reorders the eigenvalues and corresponding Schur vectors in real part ascending order.
  • REAL_DESCENDING: Reorders the eigenvalues and corresponding Schur vectors in real part descending order.
  • MAG_ASCENDING: Reorders the eigenvalues and corresponding Schur vectors in magnitude ascending order.
  • MAG_DESCENDING: Reorders the eigenvalues and corresponding Schur vectors in magnitude descending order.
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