1CTGEXC(1) LAPACK routine (version 3.2) CTGEXC(1)
2
3
4
6 CTGEXC - reorders the generalized Schur decomposition of a complex
7 matrix pair (A,B), using an unitary equivalence transformation (A, B)
8 := Q * (A, B) * Z', so that the diagonal block of (A, B) with row index
9 IFST is moved to row ILST
10
12 SUBROUTINE CTGEXC( WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ,
13 IFST, ILST, INFO )
14
15 LOGICAL WANTQ, WANTZ
16
17 INTEGER IFST, ILST, INFO, LDA, LDB, LDQ, LDZ, N
18
19 COMPLEX A( LDA, * ), B( LDB, * ), Q( LDQ, * ), Z( LDZ, * )
20
22 CTGEXC reorders the generalized Schur decomposition of a complex matrix
23 pair (A,B), using an unitary equivalence transformation (A, B) := Q *
24 (A, B) * Z', so that the diagonal block of (A, B) with row index IFST
25 is moved to row ILST. (A, B) must be in generalized Schur canonical
26 form, that is, A and B are both upper triangular.
27 Optionally, the matrices Q and Z of generalized Schur vectors are
28 updated.
29 Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)'
30 Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)'
31
33 WANTQ (input) LOGICAL .TRUE. : update the left transformation matrix
34 Q;
35
36 WANTZ (input) LOGICAL
37
38 N (input) INTEGER
39 The order of the matrices A and B. N >= 0.
40
41 A (input/output) COMPLEX array, dimension (LDA,N)
42 On entry, the upper triangular matrix A in the pair (A, B). On
43 exit, the updated matrix A.
44
45 LDA (input) INTEGER
46 The leading dimension of the array A. LDA >= max(1,N).
47
48 B (input/output) COMPLEX array, dimension (LDB,N)
49 On entry, the upper triangular matrix B in the pair (A, B). On
50 exit, the updated matrix B.
51
52 LDB (input) INTEGER
53 The leading dimension of the array B. LDB >= max(1,N).
54
55 Q (input/output) COMPLEX array, dimension (LDZ,N)
56 On entry, if WANTQ = .TRUE., the unitary matrix Q. On exit,
57 the updated matrix Q. If WANTQ = .FALSE., Q is not referenced.
58
59 LDQ (input) INTEGER
60 The leading dimension of the array Q. LDQ >= 1; If WANTQ =
61 .TRUE., LDQ >= N.
62
63 Z (input/output) COMPLEX array, dimension (LDZ,N)
64 On entry, if WANTZ = .TRUE., the unitary matrix Z. On exit,
65 the updated matrix Z. If WANTZ = .FALSE., Z is not referenced.
66
67 LDZ (input) INTEGER
68 The leading dimension of the array Z. LDZ >= 1; If WANTZ =
69 .TRUE., LDZ >= N.
70
71 IFST (input) INTEGER
72 ILST (input/output) INTEGER Specify the reordering of the
73 diagonal blocks of (A, B). The block with row index IFST is
74 moved to row ILST, by a sequence of swapping between adjacent
75 blocks.
76
77 INFO (output) INTEGER
78 =0: Successful exit.
79 <0: if INFO = -i, the i-th argument had an illegal value.
80 =1: The transformed matrix pair (A, B) would be too far from
81 generalized Schur form; the problem is ill- conditioned. (A, B)
82 may have been partially reordered, and ILST points to the first
83 row of the current position of the block being moved.
84
86 Based on contributions by
87 Bo Kagstrom and Peter Poromaa, Department of Computing Science,
88 Umea University, S-901 87 Umea, Sweden.
89 [1] B. Kagstrom; A Direct Method for Reordering Eigenvalues in the
90 Generalized Real Schur Form of a Regular Matrix Pair (A, B), in
91 M.S. Moonen et al (eds), Linear Algebra for Large Scale and
92 Real-Time Applications, Kluwer Academic Publ. 1993, pp 195-218.
93 [2] B. Kagstrom and P. Poromaa; Computing Eigenspaces with Specified
94 Eigenvalues of a Regular Matrix Pair (A, B) and Condition
95 Estimation: Theory, Algorithms and Software, Report
96 UMINF - 94.04, Department of Computing Science, Umea University,
97 S-901 87 Umea, Sweden, 1994. Also as LAPACK Working Note 87.
98 To appear in Numerical Algorithms, 1996.
99 [3] B. Kagstrom and P. Poromaa, LAPACK-Style Algorithms and Software
100 for Solving the Generalized Sylvester Equation and Estimating the
101 Separation between Regular Matrix Pairs, Report UMINF - 93.23,
102 Department of Computing Science, Umea University, S-901 87 Umea,
103 Sweden, December 1993, Revised April 1994, Also as LAPACK working
104 Note 75. To appear in ACM Trans. on Math. Software, Vol 22, No 1,
105 1996.
106
107
108
109 LAPACK routine (version 3.2) November 2008 CTGEXC(1)