1CTGEX2(1)           LAPACK auxiliary routine (version 3.2)           CTGEX2(1)
2
3
4

NAME

6       CTGEX2 - swaps adjacent diagonal 1 by 1 blocks (A11,B11) and (A22,B22)
7

SYNOPSIS

9       SUBROUTINE CTGEX2( WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, J1,
10                          INFO )
11
12           LOGICAL        WANTQ, WANTZ
13
14           INTEGER        INFO, J1, LDA, LDB, LDQ, LDZ, N
15
16           COMPLEX        A( LDA, * ), B( LDB, * ), Q( LDQ, * ), Z( LDZ, * )
17

PURPOSE

19       CTGEX2 swaps adjacent diagonal 1 by 1 blocks (A11,B11) and (A22,B22) in
20       an upper triangular matrix pair (A, B) by an unitary equivalence transā€
21       formation.
22       (A, B) must be in generalized Schur canonical form, that is,  A  and  B
23       are both upper triangular.
24       Optionally,  the  matrices  Q  and  Z  of generalized Schur vectors are
25       updated.
26              Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)'
27              Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)'
28

ARGUMENTS

30       WANTQ   (input) LOGICAL .TRUE. : update the left transformation  matrix
31       Q;
32
33       WANTZ   (input) LOGICAL
34
35       N       (input) INTEGER
36               The order of the matrices A and B. N >= 0.
37
38       A       (input/output) COMPLEX arrays, dimensions (LDA,N)
39               On  entry,  the  matrix  A  in  the  pair (A, B).  On exit, the
40               updated matrix A.
41
42       LDA     (input)  INTEGER
43               The leading dimension of the array A. LDA >= max(1,N).
44
45       B       (input/output) COMPLEX arrays, dimensions (LDB,N)
46               On entry, the matrix B in  the  pair  (A,  B).   On  exit,  the
47               updated matrix B.
48
49       LDB     (input)  INTEGER
50               The leading dimension of the array B. LDB >= max(1,N).
51
52       Q       (input/output) COMPLEX array, dimension (LDZ,N)
53               If  WANTQ = .TRUE, on entry, the unitary matrix Q. On exit, the
54               updated matrix Q.  Not referenced if WANTQ = .FALSE..
55
56       LDQ     (input) INTEGER
57               The leading dimension of the array Q. LDQ  >=  1;  If  WANTQ  =
58               .TRUE., LDQ >= N.
59
60       Z       (input/output) COMPLEX array, dimension (LDZ,N)
61               If  WANTZ = .TRUE, on entry, the unitary matrix Z. On exit, the
62               updated matrix Z.  Not referenced if WANTZ = .FALSE..
63
64       LDZ     (input) INTEGER
65               The leading dimension of the array Z. LDZ  >=  1;  If  WANTZ  =
66               .TRUE., LDZ >= N.
67
68       J1      (input) INTEGER
69               The index to the first block (A11, B11).
70
71       INFO    (output) INTEGER
72               =0:  Successful exit.
73               =1:   The  transformed matrix pair (A, B) would be too far from
74               generalized Schur form; the problem is ill- conditioned.
75

FURTHER DETAILS

77       Based on contributions by
78          Bo Kagstrom and Peter Poromaa, Department of Computing Science,
79          Umea University, S-901 87 Umea, Sweden.
80       In the current code both weak and strong stability tests are performed.
81       The  user  can  omit the strong stability test by changing the internal
82       logical parameter WANDS to .FALSE.. See ref. [2] for details.
83       [1] B. Kagstrom; A Direct Method for Reordering Eigenvalues in the
84           Generalized Real Schur Form of a Regular Matrix Pair (A, B), in
85           M.S. Moonen et al (eds), Linear Algebra for Large Scale and
86           Real-Time Applications, Kluwer Academic  Publ.  1993,  pp  195-218.
87       [2] B. Kagstrom and P. Poromaa; Computing Eigenspaces with Specified
88           Eigenvalues of a Regular Matrix Pair (A, B) and Condition
89           Estimation: Theory, Algorithms and Software, Report UMINF-94.04,
90           Department of Computing Science, Umea University, S-901 87 Umea,
91           Sweden, 1994. Also as LAPACK Working Note 87. To appear in
92           Numerical Algorithms, 1996.
93
94
95
96 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008                       CTGEX2(1)
Impressum