Previous: zgeesx Up: ../lapack-z.html Next: zgeevx

# zgeev

```
NAME
ZGEEV - compute for an N-by-N complex nonsymmetric matrix A,
the eigenvalues and, optionally, the left and/or right
eigenvectors

SYNOPSIS
SUBROUTINE ZGEEV( JOBVL, JOBVR, N, A, LDA, W, VL, LDVL, VR,
LDVR, WORK, LWORK, RWORK, INFO )

CHARACTER     JOBVL, JOBVR

INTEGER       INFO, LDA, LDVL, LDVR, LWORK, N

DOUBLE        PRECISION RWORK( * )

COMPLEX*16    A( LDA, * ), VL( LDVL, * ), VR( LDVR, * ),
W( * ), WORK( * )

PURPOSE
ZGEEV computes for an N-by-N complex nonsymmetric matrix A,
the eigenvalues and, optionally, the left and/or right
eigenvectors.

The left eigenvectors of A are the same as the right eigen-
vectors of A**H.  If u(j) and v(j) are the left and right
eigenvectors, respectively, corresponding to the eigenvalue
lambda(j), then (u(j)**H)*A = lambda(j)*(u(j)**H) and A*v(j)
= lambda(j) * v(j).

The computed eigenvectors are normalized to have Euclidean
norm equal to 1 and largest component real.

ARGUMENTS
JOBVL   (input) CHARACTER*1
= 'N': left eigenvectors of A are not computed;
= 'V': left eigenvectors of are computed.

JOBVR   (input) CHARACTER*1
= 'N': right eigenvectors of A are not computed;
= 'V': right eigenvectors of A are computed.

N       (input) INTEGER
The order of the matrix A. N >= 0.

A       (input/output) COMPLEX*16 array, dimension (LDA,N)
On entry, the N-by-N matrix A.  On exit, A has been
overwritten.

LDA     (input) INTEGER
The leading dimension of the array A.  LDA >=
max(1,N).

W       (output) COMPLEX*16 array, dimension (N)
W contains the computed eigenvalues.

VL      (output) COMPLEX*16 array, dimension (LDVL,N)
If JOBVL = 'V', the left eigenvectors u(j) are
stored one after another in the columns of VL, in
the same order as their eigenvalues.  If JOBVL =
'N', VL is not referenced.  u(j) = VL(:,j), the j-th
column of VL.

LDVL    (input) INTEGER
The leading dimension of the array VL.  LDVL >= 1;
if JOBVL = 'V', LDVL >= N.

VR      (output) COMPLEX*16 array, dimension (LDVR,N)
If JOBVR = 'V', the right eigenvectors v(j) are
stored one after another in the columns of VR, in
the same order as their eigenvalues.  If JOBVR =
'N', VR is not referenced.  v(j) = VR(:,j), the j-th
column of VR.

LDVR    (input) INTEGER
The leading dimension of the array VR.  LDVR >= 1;
if JOBVR = 'V', LDVR >= N.

WORK    (workspace/output) COMPLEX*16 array, dimension (LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal
LWORK.

LWORK   (input) INTEGER
The dimension of the array WORK.  LWORK >=
max(1,2*N).  For good performance, LWORK must gen-
erally be larger.

RWORK   (workspace) DOUBLE PRECISION array, dimension (2*N)

INFO    (output) INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal
value.
> 0:  if INFO = i, the QR algorithm failed to com-
pute all the eigenvalues, and no eigenvectors have
been computed; elements and i+1:N of W contain
eigenvalues which have converged.
```