ZTREXC(3)                  MathKeisan LAPACK routine                 ZTREXC(3)



NAME
       ZTREXC  -  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 ZTREXC( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO )

           CHARACTER      COMPQ

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

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

PURPOSE
       ZTREXC  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*16 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*16 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



 LAPACK routine (version 3.1)    November 2006                       ZTREXC(3)