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, LDWORK, WORK2, INFO)
  CHARACTER * 1 JOBVL, JOBVR
  DOUBLE COMPLEX A(LDA,*), W(*), VL(LDVL,*), VR(LDVR,*), WORK(*)
  INTEGER N, LDA, LDVL, LDVR, LDWORK, INFO
  DOUBLE PRECISION WORK2(*)
  SUBROUTINE ZGEEV_64( JOBVL, JOBVR, N, A, LDA, W, VL, LDVL, VR, LDVR, 
 *      WORK, LDWORK, WORK2, INFO)
  CHARACTER * 1 JOBVL, JOBVR
  DOUBLE COMPLEX A(LDA,*), W(*), VL(LDVL,*), VR(LDVR,*), WORK(*)
  INTEGER*8 N, LDA, LDVL, LDVR, LDWORK, INFO
  DOUBLE PRECISION WORK2(*)

F95 INTERFACE

  SUBROUTINE GEEV( JOBVL, JOBVR, [N], A, [LDA], W, VL, [LDVL], VR, 
 *       [LDVR], [WORK], [LDWORK], [WORK2], [INFO])
  CHARACTER(LEN=1) :: JOBVL, JOBVR
  COMPLEX(8), DIMENSION(:) :: W, WORK
  COMPLEX(8), DIMENSION(:,:) :: A, VL, VR
  INTEGER :: N, LDA, LDVL, LDVR, LDWORK, INFO
  REAL(8), DIMENSION(:) :: WORK2
  SUBROUTINE GEEV_64( JOBVL, JOBVR, [N], A, [LDA], W, VL, [LDVL], VR, 
 *       [LDVR], [WORK], [LDWORK], [WORK2], [INFO])
  CHARACTER(LEN=1) :: JOBVL, JOBVR
  COMPLEX(8), DIMENSION(:) :: W, WORK
  COMPLEX(8), DIMENSION(:,:) :: A, VL, VR
  INTEGER(8) :: N, LDA, LDVL, LDVR, LDWORK, INFO
  REAL(8), DIMENSION(:) :: WORK2

C INTERFACE

#include <sunperf.h>

void zgeev(char jobvl, char jobvr, int n, doublecomplex *a, int lda, doublecomplex *w, doublecomplex *vl, int ldvl, doublecomplex *vr, int ldvr, int *info);

void zgeev_64(char jobvl, char jobvr, long n, doublecomplex *a, long lda, doublecomplex *w, doublecomplex *vl, long ldvl, doublecomplex *vr, long ldvr, long *info);


PURPOSE

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

The right eigenvector v(j) of A satisfies

                 A * v(j) = lambda(j) * v(j)

where lambda(j) is its eigenvalue.

The left eigenvector u(j) of A satisfies

              u(j)**H * A = lambda(j) * u(j)**H

where u(j)**H denotes the conjugate transpose of u(j).

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


ARGUMENTS