Schur
Advanced Analysis Library Only
AnalysisLibErrType Schur (void *inputMatrix, ssize_t matrixSize, int order, void *orthogonalMatrix, void *schurMatrix, NIComplexNumber eigenvalues[]);
Purpose
Computes the Schur decomposition of a real matrix A. Schur decomposition decomposes a real matrix as follows:
A = QSQH
| where | Q is a real orthogonal matrix composed of Schur vectors. |
| S is a real Schur form matrix, which is upper quasi-triangular with 1*1 and 2*2 blocks on its diagonal. The 2*2 matrix has complex conjugate eigenvalues of A. | |
| QH is the 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:
|
| Output | ||
| Name | Type | Description |
| orthogonalMatrix | void * | The orthogonal matrix Q. On input, if orthogonalMatrix = NULL, Q is not computed. |
| schurMatrix | void * | The Schur form matrix S. schurMatrix is a quasi-triangular matrix. |
| eigenvalues | NIComplexNumber [] | The eigenvalues of inputMatrix, in the same order that they appear on the diagonal of the output real 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