class="resources"
Performs the Schur decomposition of a square matrix. You can use this polymorphic VI to perform the Schur decomposition of a real matrix or a complex matrix. The data type you wire to the Input Matrix input determines the polymorphic instance to use. Details

![]() |
Input Matrix must be a square real matrix. |
![]() |
compute Schur vectors? specifies whether the VI calculates Schur Vectors. The default is FALSE. |
![]() |
Schur Form returns the block upper triangular matrix in real Schur form. |
![]() |
Schur Vectors returns the orthogonal matrix. |
![]() |
Eigenvalues returns a complex vector that contains all of the computed eigenvalues of Input Matrix. |
![]() |
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster. |

![]() |
Input Matrix must be a square complex matrix. |
![]() |
compute Schur vectors? specifies whether the VI calculates Schur Vectors. The default is FALSE. |
![]() |
Schur Form returns the upper triangular matrix. |
![]() |
Schur Vectors returns the unitary matrix. |
![]() |
Eigenvalues returns a complex vector that contains all of the computed eigenvalues of Input Matrix. |
![]() |
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster. |
The following expression defines the Schur decomposition of a square n × n matrix A.
A = QSQH
where S is in Schur form, and QH is the conjugate transpose of matrix Q.
For a real matrix A, Q is an n × n orthogonal matrix. S is a block upper triangular matrix in real Schur form, whose elements on the main diagonal are all 1 × 1 or 2 × 2 blocks, as shown in the following matrix.

where Sii are square blocks of dimension 1 or 2, and i = 1, 2, , m.
For a complex matrix A, Q is an n × n unitary matrix. S is an upper triangular matrix in complex Schur form.