1CGEGS(1) LAPACK driver routine (version 3.2) CGEGS(1)
2
3
4
6 CGEGS - routine i deprecated and has been replaced by routine CGGES
7
9 SUBROUTINE CGEGS( JOBVSL, JOBVSR, N, A, LDA, B, LDB, ALPHA, BETA, VSL,
10 LDVSL, VSR, LDVSR, WORK, LWORK, RWORK, INFO )
11
12 CHARACTER JOBVSL, JOBVSR
13
14 INTEGER INFO, LDA, LDB, LDVSL, LDVSR, LWORK, N
15
16 REAL RWORK( * )
17
18 COMPLEX A( LDA, * ), ALPHA( * ), B( LDB, * ), BETA( * ), VSL(
19 LDVSL, * ), VSR( LDVSR, * ), WORK( * )
20
22 This routine is deprecated and has been replaced by routine CGGES.
23 CGEGS computes the eigenvalues, Schur form, and, optionally, the left
24 and or/right Schur vectors of a complex matrix pair (A,B). Given two
25 square matrices A and B, the generalized Schur
26 factorization has the form
27 A = Q*S*Z**H, B = Q*T*Z**H
28 where Q and Z are unitary matrices and S and T are upper triangular.
29 The columns of Q are the left Schur vectors
30 and the columns of Z are the right Schur vectors.
31 If only the eigenvalues of (A,B) are needed, the driver routine CGEGV
32 should be used instead. See CGEGV for a description of the eigenvalues
33 of the generalized nonsymmetric eigenvalue problem (GNEP).
34
36 JOBVSL (input) CHARACTER*1
37 = 'N': do not compute the left Schur vectors;
38 = 'V': compute the left Schur vectors (returned in VSL).
39
40 JOBVSR (input) CHARACTER*1
41 = 'N': do not compute the right Schur vectors;
42 = 'V': compute the right Schur vectors (returned in VSR).
43
44 N (input) INTEGER
45 The order of the matrices A, B, VSL, and VSR. N >= 0.
46
47 A (input/output) COMPLEX array, dimension (LDA, N)
48 On entry, the matrix A. On exit, the upper triangular matrix S
49 from the generalized Schur factorization.
50
51 LDA (input) INTEGER
52 The leading dimension of A. LDA >= max(1,N).
53
54 B (input/output) COMPLEX array, dimension (LDB, N)
55 On entry, the matrix B. On exit, the upper triangular matrix T
56 from the generalized Schur factorization.
57
58 LDB (input) INTEGER
59 The leading dimension of B. LDB >= max(1,N).
60
61 ALPHA (output) COMPLEX array, dimension (N)
62 The complex scalars alpha that define the eigenvalues of GNEP.
63 ALPHA(j) = S(j,j), the diagonal element of the Schur form of A.
64
65 BETA (output) COMPLEX array, dimension (N)
66 The non-negative real scalars beta that define the eigenvalues
67 of GNEP. BETA(j) = T(j,j), the diagonal element of the trian‐
68 gular factor T. Together, the quantities alpha = ALPHA(j) and
69 beta = BETA(j) represent the j-th eigenvalue of the matrix pair
70 (A,B), in one of the forms lambda = alpha/beta or mu =
71 beta/alpha. Since either lambda or mu may overflow, they
72 should not, in general, be computed.
73
74 VSL (output) COMPLEX array, dimension (LDVSL,N)
75 If JOBVSL = 'V', the matrix of left Schur vectors Q. Not ref‐
76 erenced if JOBVSL = 'N'.
77
78 LDVSL (input) INTEGER
79 The leading dimension of the matrix VSL. LDVSL >= 1, and if
80 JOBVSL = 'V', LDVSL >= N.
81
82 VSR (output) COMPLEX array, dimension (LDVSR,N)
83 If JOBVSR = 'V', the matrix of right Schur vectors Z. Not ref‐
84 erenced if JOBVSR = 'N'.
85
86 LDVSR (input) INTEGER
87 The leading dimension of the matrix VSR. LDVSR >= 1, and if
88 JOBVSR = 'V', LDVSR >= N.
89
90 WORK (workspace/output) COMPLEX array, dimension (MAX(1,LWORK))
91 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
92
93 LWORK (input) INTEGER
94 The dimension of the array WORK. LWORK >= max(1,2*N). For
95 good performance, LWORK must generally be larger. To compute
96 the optimal value of LWORK, call ILAENV to get blocksizes (for
97 CGEQRF, CUNMQR, and CUNGQR.) Then compute: NB -- MAX of the
98 blocksizes for CGEQRF, CUNMQR, and CUNGQR; the optimal LWORK is
99 N*(NB+1). If LWORK = -1, then a workspace query is assumed;
100 the routine only calculates the optimal size of the WORK array,
101 returns this value as the first entry of the WORK array, and no
102 error message related to LWORK is issued by XERBLA.
103
104 RWORK (workspace) REAL array, dimension (3*N)
105
106 INFO (output) INTEGER
107 = 0: successful exit
108 < 0: if INFO = -i, the i-th argument had an illegal value.
109 =1,...,N: The QZ iteration failed. (A,B) are not in Schur
110 form, but ALPHA(j) and BETA(j) should be correct for
111 j=INFO+1,...,N. > N: errors that usually indicate LAPACK
112 problems:
113 =N+1: error return from CGGBAL
114 =N+2: error return from CGEQRF
115 =N+3: error return from CUNMQR
116 =N+4: error return from CUNGQR
117 =N+5: error return from CGGHRD
118 =N+6: error return from CHGEQZ (other than failed iteration)
119 =N+7: error return from CGGBAK (computing VSL)
120 =N+8: error return from CGGBAK (computing VSR)
121 =N+9: error return from CLASCL (various places)
122
123
124
125 LAPACK driver routine (version 3.N2o)vember 2008 CGEGS(1)