table of contents
| geev(3) | Library Functions Manual | geev(3) |
NAME¶
geev - geev: eig
SYNOPSIS¶
Functions¶
subroutine CGEEV (jobvl, jobvr, n, a, lda, w, vl, ldvl, vr,
ldvr, work, lwork, rwork, info)
CGEEV computes the eigenvalues and, optionally, the left and/or right
eigenvectors for GE matrices subroutine DGEEV (jobvl, jobvr, n,
a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info)
DGEEV computes the eigenvalues and, optionally, the left and/or right
eigenvectors for GE matrices subroutine SGEEV (jobvl, jobvr, n,
a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info)
SGEEV computes the eigenvalues and, optionally, the left and/or right
eigenvectors for GE matrices subroutine ZGEEV (jobvl, jobvr, n,
a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info)
ZGEEV computes the eigenvalues and, optionally, the left and/or right
eigenvectors for GE matrices
Detailed Description¶
Function Documentation¶
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
Purpose:
!> !> 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. !>
Parameters
!> JOBVL is CHARACTER*1 !> = 'N': left eigenvectors of A are not computed; !> = 'V': left eigenvectors of are computed. !>
JOBVR
!> JOBVR is CHARACTER*1 !> = 'N': right eigenvectors of A are not computed; !> = 'V': right eigenvectors of A are computed. !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
A
!> A is COMPLEX array, dimension (LDA,N) !> On entry, the N-by-N matrix A. !> On exit, A has been overwritten. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
W
!> W is COMPLEX array, dimension (N) !> W contains the computed eigenvalues. !>
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. !>
LDVL
!> LDVL is INTEGER !> The leading dimension of the array VL. LDVL >= 1; if !> JOBVL = 'V', LDVL >= N. !>
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. !>
LDVR
!> LDVR is INTEGER !> The leading dimension of the array VR. LDVR >= 1; if !> JOBVR = 'V', LDVR >= N. !>
WORK
!> WORK is COMPLEX array, dimension (MAX(1,LWORK)) !> On exit, if INFO = 0, WORK(1) returns the optimal LWORK. !>
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. !>
RWORK
!> RWORK is REAL array, dimension (2*N) !>
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. !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 178 of file cgeev.f.
subroutine DGEEV (character jobvl, character jobvr, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) wr, double precision, dimension( * ) wi, double precision, dimension( ldvl, * ) vl, integer ldvl, double precision, dimension( ldvr, * ) vr, integer ldvr, double precision, dimension( * ) work, integer lwork, integer info)¶
DGEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices
Purpose:
!> !> DGEEV computes for an N-by-N real 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. !>
Parameters
!> JOBVL is CHARACTER*1 !> = 'N': left eigenvectors of A are not computed; !> = 'V': left eigenvectors of A are computed. !>
JOBVR
!> JOBVR is CHARACTER*1 !> = 'N': right eigenvectors of A are not computed; !> = 'V': right eigenvectors of A are computed. !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
A
!> A is DOUBLE PRECISION array, dimension (LDA,N) !> On entry, the N-by-N matrix A. !> On exit, A has been overwritten. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
WR
!> WR is DOUBLE PRECISION array, dimension (N) !>
WI
!> WI is DOUBLE PRECISION array, dimension (N) !> WR and WI contain the real and imaginary parts, !> respectively, of the computed eigenvalues. Complex !> conjugate pairs of eigenvalues appear consecutively !> with the eigenvalue having the positive imaginary part !> first. !>
VL
!> VL is DOUBLE PRECISION 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. !> If the j-th eigenvalue is real, then u(j) = VL(:,j), !> the j-th column of VL. !> If the j-th and (j+1)-st eigenvalues form a complex !> conjugate pair, then u(j) = VL(:,j) + i*VL(:,j+1) and !> u(j+1) = VL(:,j) - i*VL(:,j+1). !>
LDVL
!> LDVL is INTEGER !> The leading dimension of the array VL. LDVL >= 1; if !> JOBVL = 'V', LDVL >= N. !>
VR
!> VR is DOUBLE PRECISION 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. !> If the j-th eigenvalue is real, then v(j) = VR(:,j), !> the j-th column of VR. !> If the j-th and (j+1)-st eigenvalues form a complex !> conjugate pair, then v(j) = VR(:,j) + i*VR(:,j+1) and !> v(j+1) = VR(:,j) - i*VR(:,j+1). !>
LDVR
!> LDVR is INTEGER !> The leading dimension of the array VR. LDVR >= 1; if !> JOBVR = 'V', LDVR >= N. !>
WORK
!> WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)) !> On exit, if INFO = 0, WORK(1) returns the optimal LWORK. !>
LWORK
!> LWORK is INTEGER !> The dimension of the array WORK. LWORK >= max(1,3*N), and !> if JOBVL = 'V' or JOBVR = 'V', LWORK >= 4*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. !>
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 WR and WI contain eigenvalues which !> have converged. !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 190 of file dgeev.f.
subroutine SGEEV (character jobvl, character jobvr, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( * ) wr, real, dimension( * ) wi, real, dimension( ldvl, * ) vl, integer ldvl, real, dimension( ldvr, * ) vr, integer ldvr, real, dimension( * ) work, integer lwork, integer info)¶
SGEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices
Purpose:
!> !> SGEEV computes for an N-by-N real 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. !>
Parameters
!> JOBVL is CHARACTER*1 !> = 'N': left eigenvectors of A are not computed; !> = 'V': left eigenvectors of A are computed. !>
JOBVR
!> JOBVR is CHARACTER*1 !> = 'N': right eigenvectors of A are not computed; !> = 'V': right eigenvectors of A are computed. !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
A
!> A is REAL array, dimension (LDA,N) !> On entry, the N-by-N matrix A. !> On exit, A has been overwritten. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
WR
!> WR is REAL array, dimension (N) !>
WI
!> WI is REAL array, dimension (N) !> WR and WI contain the real and imaginary parts, !> respectively, of the computed eigenvalues. Complex !> conjugate pairs of eigenvalues appear consecutively !> with the eigenvalue having the positive imaginary part !> first. !>
VL
!> VL is REAL 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. !> If the j-th eigenvalue is real, then u(j) = VL(:,j), !> the j-th column of VL. !> If the j-th and (j+1)-st eigenvalues form a complex !> conjugate pair, then u(j) = VL(:,j) + i*VL(:,j+1) and !> u(j+1) = VL(:,j) - i*VL(:,j+1). !>
LDVL
!> LDVL is INTEGER !> The leading dimension of the array VL. LDVL >= 1; if !> JOBVL = 'V', LDVL >= N. !>
VR
!> VR is REAL 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. !> If the j-th eigenvalue is real, then v(j) = VR(:,j), !> the j-th column of VR. !> If the j-th and (j+1)-st eigenvalues form a complex !> conjugate pair, then v(j) = VR(:,j) + i*VR(:,j+1) and !> v(j+1) = VR(:,j) - i*VR(:,j+1). !>
LDVR
!> LDVR is INTEGER !> The leading dimension of the array VR. LDVR >= 1; if !> JOBVR = 'V', LDVR >= N. !>
WORK
!> WORK is REAL array, dimension (MAX(1,LWORK)) !> On exit, if INFO = 0, WORK(1) returns the optimal LWORK. !>
LWORK
!> LWORK is INTEGER !> The dimension of the array WORK. LWORK >= max(1,3*N), and !> if JOBVL = 'V' or JOBVR = 'V', LWORK >= 4*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. !>
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 WR and WI contain eigenvalues which !> have converged. !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 190 of file sgeev.f.
subroutine ZGEEV (character jobvl, character jobvr, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) w, complex*16, dimension( ldvl, * ) vl, integer ldvl, complex*16, dimension( ldvr, * ) vr, integer ldvr, complex*16, dimension( * ) work, integer lwork, double precision, dimension( * ) rwork, integer info)¶
ZGEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices
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. !>
Parameters
!> JOBVL is CHARACTER*1 !> = 'N': left eigenvectors of A are not computed; !> = 'V': left eigenvectors of are computed. !>
JOBVR
!> JOBVR is CHARACTER*1 !> = 'N': right eigenvectors of A are not computed; !> = 'V': right eigenvectors of A are computed. !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
A
!> A is COMPLEX*16 array, dimension (LDA,N) !> On entry, the N-by-N matrix A. !> On exit, A has been overwritten. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
W
!> W is COMPLEX*16 array, dimension (N) !> W contains the computed eigenvalues. !>
VL
!> VL is 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
!> LDVL is INTEGER !> The leading dimension of the array VL. LDVL >= 1; if !> JOBVL = 'V', LDVL >= N. !>
VR
!> VR is 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
!> LDVR is INTEGER !> The leading dimension of the array VR. LDVR >= 1; if !> JOBVR = 'V', LDVR >= N. !>
WORK
!> WORK is COMPLEX*16 array, dimension (MAX(1,LWORK)) !> On exit, if INFO = 0, WORK(1) returns the optimal LWORK. !>
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. !>
RWORK
!> RWORK is DOUBLE PRECISION array, dimension (2*N) !>
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. !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 178 of file zgeev.f.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
| Version 3.12.0 | LAPACK |