Provided by: liblapack-doc_3.12.0-3build1_all bug

NAME

       trexc - trexc: reorder Schur form

SYNOPSIS

   Functions
       subroutine ctrexc (compq, n, t, ldt, q, ldq, ifst, ilst, info)
           CTREXC
       subroutine dtrexc (compq, n, t, ldt, q, ldq, ifst, ilst, work, info)
           DTREXC
       subroutine strexc (compq, n, t, ldt, q, ldq, ifst, ilst, work, info)
           STREXC
       subroutine ztrexc (compq, n, t, ldt, q, ldq, ifst, ilst, info)
           ZTREXC

Detailed Description

Function Documentation

   subroutine ctrexc (character compq, integer n, complex, dimension( ldt, * ) t, integer ldt,
       complex, dimension( ldq, * ) q, integer ldq, integer ifst, integer ilst, integer info)
       CTREXC

       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
            postmultiplying it with Z.

       Parameters
           COMPQ

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

           N

                     N is INTEGER
                     The order of the matrix T. N >= 0.
                     If N == 0 arguments ILST and IFST may be any value.

           T

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

           LDT

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

           Q

                     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

                     LDQ is INTEGER
                     The leading dimension of the array Q.  LDQ >= 1, and if
                     COMPQ = 'V', LDQ >= max(1,N).

           IFST

                     IFST is INTEGER

           ILST

                     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

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

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine dtrexc (character compq, integer n, double precision, dimension( ldt, * ) t,
       integer ldt, double precision, dimension( ldq, * ) q, integer ldq, integer ifst, integer
       ilst, double precision, dimension( * ) work, integer info)
       DTREXC

       Purpose:

            DTREXC reorders the real Schur factorization of a real matrix
            A = Q*T*Q**T, so that the diagonal block of T with row index IFST is
            moved to row ILST.

            The real Schur form T is reordered by an orthogonal similarity
            transformation Z**T*T*Z, and optionally the matrix Q of Schur vectors
            is updated by postmultiplying it with Z.

            T must be in Schur canonical form (as returned by DHSEQR), that is,
            block upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each
            2-by-2 diagonal block has its diagonal elements equal and its
            off-diagonal elements of opposite sign.

       Parameters
           COMPQ

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

           N

                     N is INTEGER
                     The order of the matrix T. N >= 0.
                     If N == 0 arguments ILST and IFST may be any value.

           T

                     T is DOUBLE PRECISION array, dimension (LDT,N)
                     On entry, the upper quasi-triangular matrix T, in Schur
                     Schur canonical form.
                     On exit, the reordered upper quasi-triangular matrix, again
                     in Schur canonical form.

           LDT

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

           Q

                     Q is DOUBLE PRECISION 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
                     orthogonal transformation matrix Z which reorders T.
                     If COMPQ = 'N', Q is not referenced.

           LDQ

                     LDQ is INTEGER
                     The leading dimension of the array Q.  LDQ >= 1, and if
                     COMPQ = 'V', LDQ >= max(1,N).

           IFST

                     IFST is INTEGER

           ILST

                     ILST is INTEGER

                     Specify the reordering of the diagonal blocks of T.
                     The block with row index IFST is moved to row ILST, by a
                     sequence of transpositions between adjacent blocks.
                     On exit, if IFST pointed on entry to the second row of a
                     2-by-2 block, it is changed to point to the first row; ILST
                     always points to the first row of the block in its final
                     position (which may differ from its input value by +1 or -1).
                     1 <= IFST <= N; 1 <= ILST <= N.

           WORK

                     WORK is DOUBLE PRECISION array, dimension (N)

           INFO

                     INFO is INTEGER
                     = 0:  successful exit
                     < 0:  if INFO = -i, the i-th argument had an illegal value
                     = 1:  two adjacent blocks were too close to swap (the problem
                           is very ill-conditioned); T may have been partially
                           reordered, and ILST points to the first row of the
                           current position of the block being moved.

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine strexc (character compq, integer n, real, dimension( ldt, * ) t, integer ldt, real,
       dimension( ldq, * ) q, integer ldq, integer ifst, integer ilst, real, dimension( * ) work,
       integer info)
       STREXC

       Purpose:

            STREXC reorders the real Schur factorization of a real matrix
            A = Q*T*Q**T, so that the diagonal block of T with row index IFST is
            moved to row ILST.

            The real Schur form T is reordered by an orthogonal similarity
            transformation Z**T*T*Z, and optionally the matrix Q of Schur vectors
            is updated by postmultiplying it with Z.

            T must be in Schur canonical form (as returned by SHSEQR), that is,
            block upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each
            2-by-2 diagonal block has its diagonal elements equal and its
            off-diagonal elements of opposite sign.

       Parameters
           COMPQ

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

           N

                     N is INTEGER
                     The order of the matrix T. N >= 0.
                     If N == 0 arguments ILST and IFST may be any value.

           T

                     T is REAL array, dimension (LDT,N)
                     On entry, the upper quasi-triangular matrix T, in Schur
                     Schur canonical form.
                     On exit, the reordered upper quasi-triangular matrix, again
                     in Schur canonical form.

           LDT

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

           Q

                     Q is REAL 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
                     orthogonal transformation matrix Z which reorders T.
                     If COMPQ = 'N', Q is not referenced.

           LDQ

                     LDQ is INTEGER
                     The leading dimension of the array Q.  LDQ >= 1, and if
                     COMPQ = 'V', LDQ >= max(1,N).

           IFST

                     IFST is INTEGER

           ILST

                     ILST is INTEGER

                     Specify the reordering of the diagonal blocks of T.
                     The block with row index IFST is moved to row ILST, by a
                     sequence of transpositions between adjacent blocks.
                     On exit, if IFST pointed on entry to the second row of a
                     2-by-2 block, it is changed to point to the first row; ILST
                     always points to the first row of the block in its final
                     position (which may differ from its input value by +1 or -1).
                     1 <= IFST <= N; 1 <= ILST <= N.

           WORK

                     WORK is REAL array, dimension (N)

           INFO

                     INFO is INTEGER
                     = 0:  successful exit
                     < 0:  if INFO = -i, the i-th argument had an illegal value
                     = 1:  two adjacent blocks were too close to swap (the problem
                           is very ill-conditioned); T may have been partially
                           reordered, and ILST points to the first row of the
                           current position of the block being moved.

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine ztrexc (character compq, integer n, complex*16, dimension( ldt, * ) t, integer ldt,
       complex*16, dimension( ldq, * ) q, integer ldq, integer ifst, integer ilst, integer info)
       ZTREXC

       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
            postmultiplying it with Z.

       Parameters
           COMPQ

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

           N

                     N is INTEGER
                     The order of the matrix T. N >= 0.
                     If N == 0 arguments ILST and IFST may be any value.

           T

                     T is COMPLEX*16 array, dimension (LDT,N)
                     On entry, the upper triangular matrix T.
                     On exit, the reordered upper triangular matrix.

           LDT

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

           Q

                     Q is 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

                     LDQ is INTEGER
                     The leading dimension of the array Q.  LDQ >= 1, and if
                     COMPQ = 'V', LDQ >= max(1,N).

           IFST

                     IFST is INTEGER

           ILST

                     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

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

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

Author

       Generated automatically by Doxygen for LAPACK from the source code.