.TH "trexc" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME trexc \- trexc: reorder Schur form .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "subroutine \fBctrexc\fP (compq, n, t, ldt, q, ldq, ifst, ilst, info)" .br .RI "\fBCTREXC\fP " .ti -1c .RI "subroutine \fBdtrexc\fP (compq, n, t, ldt, q, ldq, ifst, ilst, work, info)" .br .RI "\fBDTREXC\fP " .ti -1c .RI "subroutine \fBstrexc\fP (compq, n, t, ldt, q, ldq, ifst, ilst, work, info)" .br .RI "\fBSTREXC\fP " .ti -1c .RI "subroutine \fBztrexc\fP (compq, n, t, ldt, q, ldq, ifst, ilst, info)" .br .RI "\fBZTREXC\fP " .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "subroutine ctrexc (character compq, integer n, complex, dimension( ldt, * ) t, integer ldt, complex, dimension( ldq, * ) q, integer ldq, integer ifst, integer ilst, integer info)" .PP \fBCTREXC\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> 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\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fICOMPQ\fP .PP .nf !> COMPQ is CHARACTER*1 !> = 'V': update the matrix Q of Schur vectors; !> = 'N': do not update Q\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix T\&. N >= 0\&. !> If N == 0 arguments ILST and IFST may be any value\&. !> .fi .PP .br \fIT\fP .PP .nf !> T is COMPLEX array, dimension (LDT,N) !> On entry, the upper triangular matrix T\&. !> On exit, the reordered upper triangular matrix\&. !> .fi .PP .br \fILDT\fP .PP .nf !> LDT is INTEGER !> The leading dimension of the array T\&. LDT >= max(1,N)\&. !> .fi .PP .br \fIQ\fP .PP .nf !> 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\&. !> .fi .PP .br \fILDQ\fP .PP .nf !> LDQ is INTEGER !> The leading dimension of the array Q\&. LDQ >= 1, and if !> COMPQ = 'V', LDQ >= max(1,N)\&. !> .fi .PP .br \fIIFST\fP .PP .nf !> IFST is INTEGER !> .fi .PP .br \fIILST\fP .PP .nf !> 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\&. !> .fi .PP .br \fIINFO\fP .PP .nf !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB125\fP of file \fBctrexc\&.f\fP\&. .SS "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)" .PP \fBDTREXC\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> 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\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fICOMPQ\fP .PP .nf !> COMPQ is CHARACTER*1 !> = 'V': update the matrix Q of Schur vectors; !> = 'N': do not update Q\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix T\&. N >= 0\&. !> If N == 0 arguments ILST and IFST may be any value\&. !> .fi .PP .br \fIT\fP .PP .nf !> 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\&. !> .fi .PP .br \fILDT\fP .PP .nf !> LDT is INTEGER !> The leading dimension of the array T\&. LDT >= max(1,N)\&. !> .fi .PP .br \fIQ\fP .PP .nf !> 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\&. !> .fi .PP .br \fILDQ\fP .PP .nf !> LDQ is INTEGER !> The leading dimension of the array Q\&. LDQ >= 1, and if !> COMPQ = 'V', LDQ >= max(1,N)\&. !> .fi .PP .br \fIIFST\fP .PP .nf !> IFST is INTEGER !> .fi .PP .br \fIILST\fP .PP .nf !> 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\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is DOUBLE PRECISION array, dimension (N) !> .fi .PP .br \fIINFO\fP .PP .nf !> 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\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB146\fP of file \fBdtrexc\&.f\fP\&. .SS "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)" .PP \fBSTREXC\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> 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\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fICOMPQ\fP .PP .nf !> COMPQ is CHARACTER*1 !> = 'V': update the matrix Q of Schur vectors; !> = 'N': do not update Q\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix T\&. N >= 0\&. !> If N == 0 arguments ILST and IFST may be any value\&. !> .fi .PP .br \fIT\fP .PP .nf !> 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\&. !> .fi .PP .br \fILDT\fP .PP .nf !> LDT is INTEGER !> The leading dimension of the array T\&. LDT >= max(1,N)\&. !> .fi .PP .br \fIQ\fP .PP .nf !> 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\&. !> .fi .PP .br \fILDQ\fP .PP .nf !> LDQ is INTEGER !> The leading dimension of the array Q\&. LDQ >= 1, and if !> COMPQ = 'V', LDQ >= max(1,N)\&. !> .fi .PP .br \fIIFST\fP .PP .nf !> IFST is INTEGER !> .fi .PP .br \fIILST\fP .PP .nf !> 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\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is REAL array, dimension (N) !> .fi .PP .br \fIINFO\fP .PP .nf !> 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\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB146\fP of file \fBstrexc\&.f\fP\&. .SS "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)" .PP \fBZTREXC\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> 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\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fICOMPQ\fP .PP .nf !> COMPQ is CHARACTER*1 !> = 'V': update the matrix Q of Schur vectors; !> = 'N': do not update Q\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix T\&. N >= 0\&. !> If N == 0 arguments ILST and IFST may be any value\&. !> .fi .PP .br \fIT\fP .PP .nf !> T is COMPLEX*16 array, dimension (LDT,N) !> On entry, the upper triangular matrix T\&. !> On exit, the reordered upper triangular matrix\&. !> .fi .PP .br \fILDT\fP .PP .nf !> LDT is INTEGER !> The leading dimension of the array T\&. LDT >= max(1,N)\&. !> .fi .PP .br \fIQ\fP .PP .nf !> 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\&. !> .fi .PP .br \fILDQ\fP .PP .nf !> LDQ is INTEGER !> The leading dimension of the array Q\&. LDQ >= 1, and if !> COMPQ = 'V', LDQ >= max(1,N)\&. !> .fi .PP .br \fIIFST\fP .PP .nf !> IFST is INTEGER !> .fi .PP .br \fIILST\fP .PP .nf !> 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\&. !> .fi .PP .br \fIINFO\fP .PP .nf !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB125\fP of file \fBztrexc\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.