SYNOPSIS

SUBROUTINE DLASORTE

( S, LDS, J, OUT, INFO )

INTEGER

INFO, J, LDS

DOUBLE

PRECISION OUT( J, * ), S( LDS, * )

PURPOSE

DLASORTE sorts eigenpairs so that real eigenpairs are together and

  complex are together.  This way one can employ 2x2 shifts easily
  since every 2nd subdiagonal is guaranteed to be zero.

This routine does no parallel work and makes no calls.

ARGUMENTS

S (local input/output) DOUBLE PRECISION array, dimension LDS

On entry, a matrix already in Schur form. On exit, the diagonal blocks of S have been rewritten to pair the eigenvalues. The resulting matrix is no longer similar to the input.

LDS (local input) INTEGER

On entry, the leading dimension of the local array S. Unchanged on exit.

J (local input) INTEGER

On entry, the order of the matrix S. Unchanged on exit.

OUT (local input/output) DOUBLE PRECISION array, dimension Jx2

This is the work buffer required by this routine.

INFO (local input) INTEGER

This is set if the input matrix had an odd number of real eigenvalues and things couldn't be paired or if the input matrix S was not originally in Schur form. 0 indicates successful completion.

Implemented by: G. Henry, May 1, 1997