trexc - Man Page
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.
Definition at line 125 of file ctrexc.f.
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.
Definition at line 146 of file dtrexc.f.
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.
Definition at line 146 of file strexc.f.
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.
Definition at line 125 of file ztrexc.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.