Greetings!
Matlab has a function `ordeig` that computes the eigenvalues of a real
quasi-triangular matrix (may have 2x2 blocks on the diagonal, corresponding
to complex conjugate eigenvalues) in the order in which they appear in the
matrix. This is particularly useful in conjunction with `ordschur`, since
one often wants to write something like `ordschur(Q, T, abs(ordeig(T)) .<
1)` to bring in leading position the eigenvalues inside the unit circle.
Julia does not have `ordeig`, and I suppose that there is no specialized
implementation of `eig` for quasitriangular matrices (since `schur` returns
them as `Array{Float64,2}`, without a custom type). So I suppose that there
are no guarantees on the ordering of eigenvalues. Is all of this correct?
If so, there is no hope of being able to use the above idiom with `ordeig`,
and the only way to get it working is by computing the ordered eigenvalues
of `T` by hand.
Thanks,
-federico