1CGEES(1)              LAPACK driver routine (version 3.1)             CGEES(1)
2
3
4

NAME

6       CGEES  -  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

SYNOPSIS

10       SUBROUTINE CGEES( 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           REAL          RWORK( * )
20
21           COMPLEX       A( LDA, * ), VS( LDVS, * ), W( * ), WORK( * )
22
23           LOGICAL       SELECT
24
25           EXTERNAL      SELECT
26

PURPOSE

28       CGEES  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

ARGUMENTS

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