Schur Decompositions
The Schur decomposition of a matrix is closely related, and often more useful, than the eigenvalues and eigenvectors. Like an eigenvalue decomposition, the Schur decomposition reveals the eigenvalues of a matrix and the invariant subspaces. Unlike eigenvectors, however, the Schur vectors provide an orthogonal basis for invariant subspaces. Even better, for real matrices, the Schur vectors are real, not complex.
The Schur decomposition of a matrix A is defined as:
where B is an optional balance transformation, Z is the orthogonal matrix of Schur vectors, and T is block triangular with 2 x 2 blocks along the diagonal. The first k Schur vectors form an orthonormal basis for the invariant subspace represented by the first k eigenvalues of the balanced matrix B-1AB.
A Schur decomposition object contains member functions for accessing the eigenvalues of the matrix A, and the components of the decomposition. You can also move groups of eigenvalues to the beginning of the decomposition in order to form the invariant subspace you need. Details of using the Schur decomposition object are provided in the SourcePro API Reference Guide.