1ZGEES(1) LAPACK driver routine (version 3.2) ZGEES(1)
2
3
4
6 ZGEES - computes for an N-by-N complex nonsymmetric matrix A, the ei‐
7 genvalues, the Schur form T, and, optionally, the matrix of Schur vec‐
8 tors Z
9
11 SUBROUTINE ZGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, W, VS, LDVS,
12 WORK, LWORK, RWORK, BWORK, INFO )
13
14 CHARACTER JOBVS, SORT
15
16 INTEGER INFO, LDA, LDVS, LWORK, N, SDIM
17
18 LOGICAL BWORK( * )
19
20 DOUBLE PRECISION RWORK( * )
21
22 COMPLEX*16 A( LDA, * ), VS( LDVS, * ), W( * ), WORK( * )
23
24 LOGICAL SELECT
25
26 EXTERNAL SELECT
27
29 ZGEES computes for an N-by-N complex nonsymmetric matrix A, the eigen‐
30 values, the Schur form T, and, optionally, the matrix of Schur vectors
31 Z. This gives the Schur factorization A = Z*T*(Z**H). Optionally, it
32 also orders the eigenvalues on the diagonal of the Schur form so that
33 selected eigenvalues are at the top left. The leading columns of Z
34 then form an orthonormal basis for the invariant subspace corresponding
35 to the selected eigenvalues. A complex matrix is in Schur form if it
36 is upper triangular.
37
39 JOBVS (input) CHARACTER*1
40 = 'N': Schur vectors are not computed;
41 = 'V': Schur vectors are computed.
42
43 SORT (input) CHARACTER*1
44 Specifies whether or not to order the eigenvalues on the diago‐
45 nal of the Schur form. = 'N': Eigenvalues are not ordered:
46 = 'S': Eigenvalues are ordered (see SELECT).
47
48 SELECT (external procedure) LOGICAL FUNCTION of one COMPLEX*16 argu‐
49 ment
50 SELECT must be declared EXTERNAL in the calling subroutine. If
51 SORT = 'S', SELECT is used to select eigenvalues to order to
52 the top left of the Schur form. IF SORT = 'N', SELECT is not
53 referenced. The eigenvalue W(j) is selected if SELECT(W(j)) is
54 true.
55
56 N (input) INTEGER
57 The order of the matrix A. N >= 0.
58
59 A (input/output) COMPLEX*16 array, dimension (LDA,N)
60 On entry, the N-by-N matrix A. On exit, A has been overwritten
61 by its Schur form T.
62
63 LDA (input) INTEGER
64 The leading dimension of the array A. LDA >= max(1,N).
65
66 SDIM (output) INTEGER
67 If SORT = 'N', SDIM = 0. If SORT = 'S', SDIM = number of ei‐
68 genvalues for which SELECT is true.
69
70 W (output) COMPLEX*16 array, dimension (N)
71 W contains the computed eigenvalues, in the same order that
72 they appear on the diagonal of the output Schur form T.
73
74 VS (output) COMPLEX*16 array, dimension (LDVS,N)
75 If JOBVS = 'V', VS contains the unitary matrix Z of Schur vec‐
76 tors. If JOBVS = 'N', VS is not referenced.
77
78 LDVS (input) INTEGER
79 The leading dimension of the array VS. LDVS >= 1; if JOBVS =
80 'V', LDVS >= N.
81
82 WORK (workspace/output) COMPLEX*16 array, dimension (MAX(1,LWORK))
83 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
84
85 LWORK (input) INTEGER
86 The dimension of the array WORK. LWORK >= max(1,2*N). For
87 good performance, LWORK must generally be larger. If LWORK =
88 -1, then a workspace query is assumed; the routine only calcu‐
89 lates the optimal size of the WORK array, returns this value as
90 the first entry of the WORK array, and no error message related
91 to LWORK is issued by XERBLA.
92
93 RWORK (workspace) DOUBLE PRECISION array, dimension (N)
94
95 BWORK (workspace) LOGICAL array, dimension (N)
96 Not referenced if SORT = 'N'.
97
98 INFO (output) INTEGER
99 = 0: successful exit
100 < 0: if INFO = -i, the i-th argument had an illegal value.
101 > 0: if INFO = i, and i is
102 <= N: the QR algorithm failed to compute all the
103 eigenvalues; elements 1:ILO-1 and i+1:N of W contain those ei‐
104 genvalues which have converged; if JOBVS = 'V', VS contains the
105 matrix which reduces A to its partially converged Schur form.
106 = N+1: the eigenvalues could not be reordered because some ei‐
107 genvalues were too close to separate (the problem is very ill-
108 conditioned); = N+2: after reordering, roundoff changed values
109 of some complex eigenvalues so that leading eigenvalues in the
110 Schur form no longer satisfy SELECT = .TRUE.. This could also
111 be caused by underflow due to scaling.
112
113
114
115 LAPACK driver routine (version 3.N2o)vember 2008 ZGEES(1)