Advanced Analysis Library Only
AnalysisLibErrType CxSchur (void *inputMatrix, int matrixSize, int order, void *orthogonalMatrix, void *schurMatrix, NIComplexNumber eigenvalues[]);
Performs the Schur decomposition of a complex matrix A, as follows:
A = QSQH
| where | Q 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 |
| Input | ||
| Name | Type | Description |
| inputMatrix | numeric array | The input matrix. |
| matrixSize | integer | The order of inputMatrix. |
| order | integer | Specifies how to reorder the computed eigenvalues and corresponding Schur vectors. order must be one of the following values:
|
| Output | ||
| Name | Type | Description |
| orthogonalMatrix | numeric array | The unitary matrix Q. On input, if orthogonalMatrix = NULL, Q is not computed. |
| schurMatrix | numeric array | The complex Schur form matrix S. That is, schurMatrix is an upper triangular matrix. |
| eigenvalues | complex number array | The eigenvalues of inputMatrix, in the same order that they appear on the diagonal of the output complex Schur form schurMatrix. |
| Name | Type | Description |
| status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants. |