Reorder eigenvalues in Schur factorization
[US,TS] = ordschur(U,T,select)
[US,TS] = ordschur(U,T,keyword)
[US,TS] = ordschur(U,T,clusters)
[US,TS] = ordschur(U,T,select) reorders the Schur factorization X = U*T*U' produced by the schur function and returns the reordered Schur matrix TS and the cumulative orthogonal transformation US such that X = US*TS*US'. In this reordering, the selected cluster of eigenvalues appears in the leading (upper left) diagonal blocks of the quasitriangular Schur matrix TS, and the corresponding invariant subspace is spanned by the leading columns of US. The logical vector select specifies the selected cluster as E(select) where E is the vector of eigenvalues as they appear along T's diagonal.
Note To extract E from T, use E = ordeig(T), instead of eig. This ensures that the eigenvalues in E occur in the same order as they appear on the diagonal of TS.
Left-half plane (real(E) < 0)
Right-half plane (real(E) > 0)
Interior of unit disk (abs(E) < 1)
Exterior of unit disk (abs(E) > 1)
[US,TS] = ordschur(U,T,clusters) reorders multiple clusters at once. Given a vector clusters of cluster indices, commensurate with E = ordeig(T), and such that all eigenvalues with the same clusters value form one cluster, ordschur sorts the specified clusters in descending order along the diagonal of TS, the cluster with highest index appearing in the upper left corner.