Admin Production ni-theme
Current Publication

CxSchur

LabWindows/CVI

CxSchur

Advanced Analysis Library Only

AnalysisLibErrType CxSchur (void *inputMatrix, ssize_t matrixSize, int order, void *orthogonalMatrix, void *schurMatrix, NIComplexNumber eigenvalues[]);

Purpose

Performs the Schur decomposition of a complex matrix A, as follows:

A = QSQH

whereQ is a unitary matrix composed of Schur vectors
S is a complex Schur form matrix, which is an upper triangular matrix
QH is the conjugate transpose of Q

Parameters

Input
Name Type Description
inputMatrix void * The input matrix.
matrixSize ssize_t The order of inputMatrix.
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 eigenvalues and corresponding Schur vectors in real part ascending order.
  • REAL_DESCENDING: Reorders eigenvalues and corresponding Schur vectors in real part descending order.
  • MAG_ASCENDING: Reorders eigenvalues and corresponding Schur vectors in magnitude ascending order.
  • MAG_DESCENDING: Reorders eigenvalues and corresponding Schur vectors in magnitude descending order.
Output
Name Type Description
orthogonalMatrix void * The unitary matrix Q. On input, if orthogonalMatrix = NULL, Q is not computed.
schurMatrix void * The complex Schur form matrix S. That is, schurMatrix is an upper triangular matrix.
eigenvalues NIComplexNumber [] The eigenvalues of inputMatrix, in the same order that they appear on the diagonal of the output complex Schur form schurMatrix.

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