CTREXC(3)      LAPACK routine of NEC Numeric Library Collection      CTREXC(3)



NAME
       CTREXC

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



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)
                     COMPQ is CHARACTER*1
                     = 'V':  update the matrix Q of Schur vectors;
                     = 'N':  do not update Q.

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

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

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

           Q         (input/output)
                     Q is 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)
                     LDQ is INTEGER
                     The leading dimension of the array Q.  LDQ >= max(1,N).

           IFST      (input)
                     IFST is INTEGER

           ILST      (input)
                     ILST is 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)
                     INFO is INTEGER
                     = 0:  successful exit
                     < 0:  if INFO = -i, the i-th argument had an illegal value



LAPACK routine                  31 October 2017                      CTREXC(3)