In Matlab 6, there exists a command to generate a real Schur form, wheras another transforms a real Schur form into a complex one. There do not exist commands to prescribe the order in which the eigenvalues appear on the diagonal of the upper (quasi‐) triangular factor T. For the complex case, a routine is sketched in Golub and Van Loan (Matrix Computations (3rd edn). The John Hopkins University Press: Baltimore and London, 1996), that orders the diagonal of T according to their distance to a target value τ. In this technical note, we give a Matlab routine to sort real Schur forms in Matlab. It is based on a block‐swapping procedure by Bai and Demmel (Linear Algebra and Its Applications 1993; 186: 73) We also describe how to compute a partial real Schur form (see Saad (Numerical methods for large eigenvalue problems. Manchester University Press: Manchester, 1992.)) in case the matrix A is very large. Sorting real Schur forms, both partially and completely, has important applications in the computation of real invariant subspaces.
No takes yet. Share an insight, caveat, or question.
Jan Brandts (2002) studied this question.
Synapse has enriched one closely related paper. Consider it for comparative context: