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