1ZGEEV(1) LAPACK driver routine (version 3.1) ZGEEV(1)
2
3
4
6 ZGEEV - for an N-by-N complex nonsymmetric matrix A, the eigenvalues
7 and, optionally, the left and/or right eigenvectors
8
10 SUBROUTINE ZGEEV( JOBVL, JOBVR, N, A, LDA, W, VL, LDVL, VR, LDVR, WORK,
11 LWORK, RWORK, INFO )
12
13 CHARACTER JOBVL, JOBVR
14
15 INTEGER INFO, LDA, LDVL, LDVR, LWORK, N
16
17 DOUBLE PRECISION RWORK( * )
18
19 COMPLEX*16 A( LDA, * ), VL( LDVL, * ), VR( LDVR, * ), W( * ),
20 WORK( * )
21
23 ZGEEV computes for an N-by-N complex nonsymmetric matrix A, the eigen‐
24 values and, optionally, the left and/or right eigenvectors.
25
26 The right eigenvector v(j) of A satisfies
27 A * v(j) = lambda(j) * v(j)
28 where lambda(j) is its eigenvalue.
29 The left eigenvector u(j) of A satisfies
30 u(j)**H * A = lambda(j) * u(j)**H
31 where u(j)**H denotes the conjugate transpose of u(j).
32
33 The computed eigenvectors are normalized to have Euclidean norm equal
34 to 1 and largest component real.
35
36
38 JOBVL (input) CHARACTER*1
39 = 'N': left eigenvectors of A are not computed;
40 = 'V': left eigenvectors of are computed.
41
42 JOBVR (input) CHARACTER*1
43 = 'N': right eigenvectors of A are not computed;
44 = 'V': right eigenvectors of A are computed.
45
46 N (input) INTEGER
47 The order of the matrix A. N >= 0.
48
49 A (input/output) COMPLEX*16 array, dimension (LDA,N)
50 On entry, the N-by-N matrix A. On exit, A has been overwrit‐
51 ten.
52
53 LDA (input) INTEGER
54 The leading dimension of the array A. LDA >= max(1,N).
55
56 W (output) COMPLEX*16 array, dimension (N)
57 W contains the computed eigenvalues.
58
59 VL (output) COMPLEX*16 array, dimension (LDVL,N)
60 If JOBVL = 'V', the left eigenvectors u(j) are stored one after
61 another in the columns of VL, in the same order as their eigen‐
62 values. If JOBVL = 'N', VL is not referenced. u(j) = VL(:,j),
63 the j-th column of VL.
64
65 LDVL (input) INTEGER
66 The leading dimension of the array VL. LDVL >= 1; if JOBVL =
67 'V', LDVL >= N.
68
69 VR (output) COMPLEX*16 array, dimension (LDVR,N)
70 If JOBVR = 'V', the right eigenvectors v(j) are stored one
71 after another in the columns of VR, in the same order as their
72 eigenvalues. If JOBVR = 'N', VR is not referenced. v(j) =
73 VR(:,j), the j-th column of VR.
74
75 LDVR (input) INTEGER
76 The leading dimension of the array VR. LDVR >= 1; if JOBVR =
77 'V', LDVR >= N.
78
79 WORK (workspace/output) COMPLEX*16 array, dimension (MAX(1,LWORK))
80 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
81
82 LWORK (input) INTEGER
83 The dimension of the array WORK. LWORK >= max(1,2*N). For
84 good performance, LWORK must generally be larger.
85
86 If LWORK = -1, then a workspace query is assumed; the routine
87 only calculates the optimal size of the WORK array, returns
88 this value as the first entry of the WORK array, and no error
89 message related to LWORK is issued by XERBLA.
90
91 RWORK (workspace) DOUBLE PRECISION array, dimension (2*N)
92
93 INFO (output) INTEGER
94 = 0: successful exit
95 < 0: if INFO = -i, the i-th argument had an illegal value.
96 > 0: if INFO = i, the QR algorithm failed to compute all the
97 eigenvalues, and no eigenvectors have been computed; elements
98 and i+1:N of W contain eigenvalues which have converged.
99
100
101
102 LAPACK driver routine (version 3.N1o)vember 2006 ZGEEV(1)