ctrexc(3F)

CTREXC - reorder the Schur factorization of a complex matrix A = Q*T*Q**H, so that the diagonal element of T with row index IFST is moved to row ILST

As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.

NAME
     CTREXC - reorder the Schur factorization of a complex matrix A =
     Q*T*Q**H, so that the diagonal element of T with row index IFST is moved
     to row ILST

SYNOPSIS
     SUBROUTINE CTREXC( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO )

         CHARACTER      COMPQ

         INTEGER        IFST, ILST, INFO, LDQ, LDT, N

         COMPLEX        Q( LDQ, * ), T( LDT, * )

PURPOSE
     CTREXC reorders the Schur factorization of a complex matrix A = Q*T*Q**H,
     so that the diagonal element of T with row index IFST is moved to row
     ILST.

     The Schur form T is reordered by a unitary similarity transformation
     Z**H*T*Z, and optionally the matrix Q of Schur vectors is updated by
     postmultplying it with Z.


ARGUMENTS
     COMPQ   (input) CHARACTER*1
             = 'V':  update the matrix Q of Schur vectors;
             = 'N':  do not update Q.

     N       (input) INTEGER
             The order of the matrix T. N >= 0.

     T       (input/output) COMPLEX array, dimension (LDT,N)
             On entry, the upper triangular matrix T.  On exit, the reordered
             upper triangular matrix.

     LDT     (input) INTEGER
             The leading dimension of the array T. LDT >= max(1,N).

     Q       (input/output) COMPLEX array, dimension (LDQ,N)
             On entry, if COMPQ = 'V', the matrix Q of Schur vectors.  On
             exit, if COMPQ = 'V', Q has been postmultiplied by the unitary
             transformation matrix Z which reorders T.  If COMPQ = 'N', Q is
             not referenced.

     LDQ     (input) INTEGER
             The leading dimension of the array Q.  LDQ >= max(1,N).

     IFST    (input) INTEGER
             ILST    (input) INTEGER Specify the reordering of the diagonal
             elements of T:  The element with row index IFST is moved to row
             ILST by a sequence of transpositions between adjacent elements.
             1 <= IFST <= N; 1 <= ILST <= N.

     INFO    (output) INTEGER
             = 0:  successful exit
             < 0:  if INFO = -i, the i-th argument had an illegal value