![]() |
LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
| subroutine cgeev | ( | character | jobvl, |
| character | jobvr, | ||
| integer | n, | ||
| complex, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex, dimension( * ) | w, | ||
| complex, dimension( ldvl, * ) | vl, | ||
| integer | ldvl, | ||
| complex, dimension( ldvr, * ) | vr, | ||
| integer | ldvr, | ||
| complex, dimension( * ) | work, | ||
| integer | lwork, | ||
| real, dimension( * ) | rwork, | ||
| integer | info ) |
CGEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices
Download CGEEV + dependencies [TGZ] [ZIP] [TXT]
!> !> CGEEV 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. !>
| [in] | JOBVL | !> JOBVL is CHARACTER*1 !> = 'N': left eigenvectors of A are not computed; !> = 'V': left eigenvectors of are computed. !> |
| [in] | JOBVR | !> JOBVR is CHARACTER*1 !> = 'N': right eigenvectors of A are not computed; !> = 'V': right eigenvectors of A are computed. !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in,out] | A | !> A is COMPLEX array, dimension (LDA,N) !> On entry, the N-by-N matrix A. !> On exit, A has been overwritten. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [out] | W | !> W is COMPLEX array, dimension (N) !> W contains the computed eigenvalues. !> |
| [out] | VL | !> VL is COMPLEX 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. !> |
| [in] | LDVL | !> LDVL is INTEGER !> The leading dimension of the array VL. LDVL >= 1; if !> JOBVL = 'V', LDVL >= N. !> |
| [out] | VR | !> VR is COMPLEX 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. !> |
| [in] | LDVR | !> LDVR is INTEGER !> The leading dimension of the array VR. LDVR >= 1; if !> JOBVR = 'V', LDVR >= N. !> |
| [out] | WORK | !> WORK is COMPLEX array, dimension (MAX(1,LWORK)) !> On exit, if INFO = 0, WORK(1) returns the optimal LWORK. !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. LWORK >= max(1,2*N). !> For good performance, LWORK must generally be larger. !> !> If LWORK = -1, then a workspace query is assumed; the routine !> only calculates the optimal size of the WORK array, returns !> this value as the first entry of the WORK array, and no error !> message related to LWORK is issued by XERBLA. !> |
| [out] | RWORK | !> RWORK is REAL array, dimension (2*N) !> |
| [out] | INFO | !> INFO is 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 i+1:N of W contain eigenvalues which have !> converged. !> |