Reorder eigenvalues in Schur factorization

`[`

reorders the Schur factorization `US`

,`TS`

] = ordschur(`U`

,`T`

,`select`

)`X = U*T*U'`

produced by
`[U,T] = schur(X)`

and returns the reordered Schur matrix
`TS`

and the orthogonal matrix `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`

. The leading columns
of `US`

span the corresponding invariant subspace. The logical
vector `select`

specifies the selected cluster as
`e(select)`

, where `e = ordeig(T)`

.

If

`T`

has complex conjugate pairs (nonzero elements on the subdiagonal), then you should move the pair to the same cluster. Otherwise,`ordschur`

acts to keep the pair together:If

`select`

is not the same for two eigenvalues in a conjugate pair, then`ordschur`

treats both as selected.If

`clusters`

is not the same for two eigenvalues in a conjugate pair, then`ordschur`

treats both as part of the cluster with larger index.