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.