```ZGEEV(l)	     LAPACK driver routine (version 1.1)	     ZGEEV(l)

NAME
ZGEEV	- compute for an N-by-N	complex	nonsymmetric matrix A, the eigen-
values 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 eigenvectors 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 eigen-
values.  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 eigen-
values.  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 generally 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	compute	all the
eigenvalues, and no eigenvectors have	been computed; elements	and
i+1:N	of W contain eigenvalues which have converged.

```

Back to the listing of simple driver routines