strexc.f man page

strexc.f —

Synopsis

Functions/Subroutines

subroutine strexc (COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, WORK, INFO)
STREXC

Function/Subroutine Documentation

subroutine strexc (characterCOMPQ, integerN, real, dimension( ldt, * )T, integerLDT, real, dimension( ldq, * )Q, integerLDQ, integerIFST, integerILST, real, dimension( * )WORK, integerINFO)

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.

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 >= 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.

Date:

November 2011

Definition at line 146 of file strexc.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Referenced By

strexc(3) is an alias of strexc.f(3).

Sat Nov 16 2013 Version 3.4.2 LAPACK