1ZGEGS(1) LAPACK driver routine (version 3.2) ZGEGS(1)
2
3
4
6 ZGEGS - routine i deprecated and has been replaced by routine ZGGES
7
9 SUBROUTINE ZGEGS( 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 DOUBLE PRECISION RWORK( * )
17
18 COMPLEX*16 A( LDA, * ), ALPHA( * ), B( LDB, * ), BETA( * ), VSL(
19 LDVSL, * ), VSR( LDVSR, * ), WORK( * )
20
22 This routine is deprecated and has been replaced by routine ZGGES.
23 ZGEGS 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 ZGEGV
32 should be used instead. See ZGEGV 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*16 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*16 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*16 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*16 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*16 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*16 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*16 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 ZGEQRF, ZUNMQR, and CUNGQR.) Then compute: NB -- MAX of the
98 blocksizes for ZGEQRF, ZUNMQR, 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) DOUBLE PRECISION 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 ZGGBAL
114 =N+2: error return from ZGEQRF
115 =N+3: error return from ZUNMQR
116 =N+4: error return from ZUNGQR
117 =N+5: error return from ZGGHRD
118 =N+6: error return from ZHGEQZ (other than failed iteration)
119 =N+7: error return from ZGGBAK (computing VSL)
120 =N+8: error return from ZGGBAK (computing VSR)
121 =N+9: error return from ZLASCL (various places)
122
123
124
125 LAPACK driver routine (version 3.N2o)vember 2008 ZGEGS(1)