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

NAME

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

SYNOPSIS

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

PURPOSE

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

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*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)
Impressum