ctgexc(3)
NAME
- CTGEXC - reorder the generalized Schur decomposition of a
- complex matrix pair (A,B), using an unitary equivalence transfor
- mation (A, B) := Q * (A, B) * Z', so that the diagonal block of
- (A, B) with row index IFST is moved to row ILST
SYNOPSIS
SUBROUTINE CTGEXC( WANTQ, WANTZ, N, A, LDA, B, LDB, Q,
LDQ, Z, LDZ, IFST, ILST, INFO )
LOGICAL WANTQ, WANTZ
INTEGER IFST, ILST, INFO, LDA, LDB, LDQ, LDZ, N
COMPLEX A( LDA, * ), B( LDB, * ), Q( LDQ, * ),
Z( LDZ, * )
PURPOSE
- CTGEXC reorders the generalized Schur decomposition of a
- complex matrix pair (A,B), using an unitary equivalence transfor
- mation (A, B) := Q * (A, B) * Z', so that the diagonal block of
- (A, B) with row index IFST is moved to row ILST. (A, B) must be
- in generalized Schur canonical form, that is, A and B are both
- upper triangular.
- Optionally, the matrices Q and Z of generalized Schur vec
- tors are updated.
Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)'
Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)'
ARGUMENTS
WANTQ (input) LOGICAL
WANTZ (input) LOGICAL
- N (input) INTEGER
- The order of the matrices A and B. N >= 0.
- A (input/output) COMPLEX array, dimension (LDA,N)
- On entry, the upper triangular matrix A in the
- pair (A, B). On exit, the updated matrix A.
- LDA (input) INTEGER
- The leading dimension of the array A. LDA >=
- max(1,N).
- B (input/output) COMPLEX array, dimension (LDB,N)
- On entry, the upper triangular matrix B in the
- pair (A, B). On exit, the updated matrix B.
- LDB (input) INTEGER
- The leading dimension of the array B. LDB >=
- max(1,N).
- Q (input/output) COMPLEX array, dimension (LDZ,N)
- On entry, if WANTQ = .TRUE., the unitary matrix Q.
- On exit, the updated matrix Q. If WANTQ = .FALSE., Q is not ref
- erenced.
- LDQ (input) INTEGER
- The leading dimension of the array Q. LDQ >= 1; If
- WANTQ = .TRUE., LDQ >= N.
- Z (input/output) COMPLEX array, dimension (LDZ,N)
- On entry, if WANTZ = .TRUE., the unitary matrix Z.
- On exit, the updated matrix Z. If WANTZ = .FALSE., Z is not ref
- erenced.
- LDZ (input) INTEGER
- The leading dimension of the array Z. LDZ >= 1; If
- WANTZ = .TRUE., LDZ >= N.
- IFST (input/output) INTEGER
- ILST (input/output) INTEGER Specify the re
- ordering of the diagonal blocks of (A, B). The block with row
- index IFST is moved to row ILST, by a sequence of swapping be
- tween adjacent blocks.
- INFO (output) INTEGER
- =0: Successful exit.
<0: if INFO = -i, the i-th argument had an ille - gal value.
=1: The transformed matrix pair (A, B) would be - too far from generalized Schur form; the problem is ill- condi
- tioned. (A, B) may have been partially reordered, and ILST points
- to the first row of the current position of the block being
- moved.
FURTHER DETAILS
- Based on contributions by
- Bo Kagstrom and Peter Poromaa, Department of Computing
- Science,
Umea University, S-901 87 Umea, Sweden. - [1] B. Kagstrom; A Direct Method for Reordering Eigenval
- ues in the
- Generalized Real Schur Form of a Regular Matrix Pair
- (A, B), in
M.S. Moonen et al (eds), Linear Algebra for Large - Scale and
Real-Time Applications, Kluwer Academic Publ. 1993, pp - 195-218.
- [2] B. Kagstrom and P. Poromaa; Computing Eigenspaces with
- Specified
- Eigenvalues of a Regular Matrix Pair (A, B) and Condi
- tion
Estimation: Theory, Algorithms and Software, Report
UMINF - 94.04, Department of Computing Science, Umea - University,
S-901 87 Umea, Sweden, 1994. Also as LAPACK Working - Note 87.
To appear in Numerical Algorithms, 1996. - [3] B. Kagstrom and P. Poromaa, LAPACK-Style Algorithms
- and Software
- for Solving the Generalized Sylvester Equation and Es
- timating the
Separation between Regular Matrix Pairs, Report UMINF - - 93.23,
Department of Computing Science, Umea University, - S-901 87 Umea,
Sweden, December 1993, Revised April 1994, Also as LA - PACK working
Note 75. To appear in ACM Trans. on Math. Software, - Vol 22, No 1,
1996. - LAPACK version 3.0 15 June 2000