1CGEES(1) LAPACK driver routine (version 3.2) CGEES(1)
2
3
4
6 CGEES - 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 CGEES( 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 REAL RWORK( * )
21
22 COMPLEX A( LDA, * ), VS( LDVS, * ), W( * ), WORK( * )
23
24 LOGICAL SELECT
25
26 EXTERNAL SELECT
27
29 CGEES 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 argument
49 SELECT must be declared EXTERNAL in the calling subroutine. If
50 SORT = 'S', SELECT is used to select eigenvalues to order to
51 the top left of the Schur form. IF SORT = 'N', SELECT is not
52 referenced. The eigenvalue W(j) is selected if SELECT(W(j)) is
53 true.
54
55 N (input) INTEGER
56 The order of the matrix A. N >= 0.
57
58 A (input/output) COMPLEX array, dimension (LDA,N)
59 On entry, the N-by-N matrix A. On exit, A has been overwritten
60 by its Schur form T.
61
62 LDA (input) INTEGER
63 The leading dimension of the array A. LDA >= max(1,N).
64
65 SDIM (output) INTEGER
66 If SORT = 'N', SDIM = 0. If SORT = 'S', SDIM = number of ei‐
67 genvalues for which SELECT is true.
68
69 W (output) COMPLEX array, dimension (N)
70 W contains the computed eigenvalues, in the same order that
71 they appear on the diagonal of the output Schur form T.
72
73 VS (output) COMPLEX array, dimension (LDVS,N)
74 If JOBVS = 'V', VS contains the unitary matrix Z of Schur vec‐
75 tors. If JOBVS = 'N', VS is not referenced.
76
77 LDVS (input) INTEGER
78 The leading dimension of the array VS. LDVS >= 1; if JOBVS =
79 'V', LDVS >= N.
80
81 WORK (workspace/output) COMPLEX array, dimension (MAX(1,LWORK))
82 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
83
84 LWORK (input) INTEGER
85 The dimension of the array WORK. LWORK >= max(1,2*N). For
86 good performance, LWORK must generally be larger. If LWORK =
87 -1, then a workspace query is assumed; the routine only calcu‐
88 lates the optimal size of the WORK array, returns this value as
89 the first entry of the WORK array, and no error message related
90 to LWORK is issued by XERBLA.
91
92 RWORK (workspace) REAL array, dimension (N)
93
94 BWORK (workspace) LOGICAL array, dimension (N)
95 Not referenced if SORT = 'N'.
96
97 INFO (output) INTEGER
98 = 0: successful exit
99 < 0: if INFO = -i, the i-th argument had an illegal value.
100 > 0: if INFO = i, and i is
101 <= N: the QR algorithm failed to compute all the
102 eigenvalues; elements 1:ILO-1 and i+1:N of W contain those ei‐
103 genvalues which have converged; if JOBVS = 'V', VS contains the
104 matrix which reduces A to its partially converged Schur form.
105 = N+1: the eigenvalues could not be reordered because some ei‐
106 genvalues were too close to separate (the problem is very ill-
107 conditioned); = N+2: after reordering, roundoff changed values
108 of some complex eigenvalues so that leading eigenvalues in the
109 Schur form no longer satisfy SELECT = .TRUE.. This could also
110 be caused by underflow due to scaling.
111
112
113
114 LAPACK driver routine (version 3.N2o)vember 2008 CGEES(1)