Sorts eigenpairs by real and complex data types.
call slasorte(s, lds, j, out, info)
call dlasorte(s, lds, j, out, info)
The ?lasorte routine sorts eigenpairs so that real eigenpairs are together and complex eigenpairs are together. This helps to employ 2x2 shifts easily since every second subdiagonal is guaranteed to be zero. This routine does no parallel work and makes no calls.
(local) INTEGER.
REAL for slasorte
DOUBLE PRECISION for dlasorte
Array, DIMENSION (lds).
On entry, a matrix already in Schur form.
(local) INTEGER.
On entry, the leading dimension of the array s; unchanged on exit.
(local) INTEGER.
On entry, the order of the matrix S; unchanged on exit.
(local) INTEGER.
REAL for slasorte
DOUBLE PRECISION for dlasorte
Array, DIMENSION (2*j). The work buffer required by the routine.
(local) INTEGER.
Set, if the input matrix had an odd number of real eigenvalues and things could not be paired or if the input matrix S was not originally in Schur form. 0 indicates successful completion.
On exit, the diagonal blocks of S have been rewritten to pair the eigenvalues. The resulting matrix is no longer similar to the input.
Work buffer.