table of contents
| heev(3) | Library Functions Manual | heev(3) |
NAME¶
heev - {he,sy}ev: eig, QR iteration
SYNOPSIS¶
Functions¶
subroutine CHEEV (jobz, uplo, n, a, lda, w, work, lwork,
rwork, info)
CHEEV computes the eigenvalues and, optionally, the left and/or right
eigenvectors for HE matrices subroutine DSYEV (jobz, uplo, n, a,
lda, w, work, lwork, info)
DSYEV computes the eigenvalues and, optionally, the left and/or right
eigenvectors for SY matrices subroutine SSYEV (jobz, uplo, n, a,
lda, w, work, lwork, info)
SSYEV computes the eigenvalues and, optionally, the left and/or right
eigenvectors for SY matrices subroutine ZHEEV (jobz, uplo, n, a,
lda, w, work, lwork, rwork, info)
ZHEEV computes the eigenvalues and, optionally, the left and/or right
eigenvectors for HE matrices
Detailed Description¶
Function Documentation¶
subroutine CHEEV (character jobz, character uplo, integer n, complex, dimension( lda, * ) a, integer lda, real, dimension( * ) w, complex, dimension( * ) work, integer lwork, real, dimension( * ) rwork, integer info)¶
CHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
Purpose:
!> !> CHEEV computes all eigenvalues and, optionally, eigenvectors of a !> complex Hermitian matrix A. !>
Parameters
!> JOBZ is CHARACTER*1 !> = 'N': Compute eigenvalues only; !> = 'V': Compute eigenvalues and eigenvectors. !>
UPLO
!> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
A
!> A is COMPLEX array, dimension (LDA, N) !> On entry, the Hermitian matrix A. If UPLO = 'U', the !> leading N-by-N upper triangular part of A contains the !> upper triangular part of the matrix A. If UPLO = 'L', !> the leading N-by-N lower triangular part of A contains !> the lower triangular part of the matrix A. !> On exit, if JOBZ = 'V', then if INFO = 0, A contains the !> orthonormal eigenvectors of the matrix A. !> If JOBZ = 'N', then on exit the lower triangle (if UPLO='L') !> or the upper triangle (if UPLO='U') of A, including the !> diagonal, is destroyed. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
W
!> W is REAL array, dimension (N) !> If INFO = 0, the eigenvalues in ascending order. !>
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 length of the array WORK. LWORK >= max(1,2*N-1). !> For optimal efficiency, LWORK >= (NB+1)*N, !> where NB is the blocksize for CHETRD returned by ILAENV. !> !> 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 (max(1, 3*N-2)) !>
INFO
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> > 0: if INFO = i, the algorithm failed to converge; i !> off-diagonal elements of an intermediate tridiagonal !> form did not converge to zero. !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 138 of file cheev.f.
subroutine DSYEV (character jobz, character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) w, double precision, dimension( * ) work, integer lwork, integer info)¶
DSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices
Purpose:
!> !> DSYEV computes all eigenvalues and, optionally, eigenvectors of a !> real symmetric matrix A. !>
Parameters
!> JOBZ is CHARACTER*1 !> = 'N': Compute eigenvalues only; !> = 'V': Compute eigenvalues and eigenvectors. !>
UPLO
!> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
A
!> A is DOUBLE PRECISION array, dimension (LDA, N) !> On entry, the symmetric matrix A. If UPLO = 'U', the !> leading N-by-N upper triangular part of A contains the !> upper triangular part of the matrix A. If UPLO = 'L', !> the leading N-by-N lower triangular part of A contains !> the lower triangular part of the matrix A. !> On exit, if JOBZ = 'V', then if INFO = 0, A contains the !> orthonormal eigenvectors of the matrix A. !> If JOBZ = 'N', then on exit the lower triangle (if UPLO='L') !> or the upper triangle (if UPLO='U') of A, including the !> diagonal, is destroyed. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
W
!> W is DOUBLE PRECISION array, dimension (N) !> If INFO = 0, the eigenvalues in ascending order. !>
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 length of the array WORK. LWORK >= max(1,3*N-1). !> For optimal efficiency, LWORK >= (NB+2)*N, !> where NB is the blocksize for DSYTRD returned by ILAENV. !> !> 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 algorithm failed to converge; i !> off-diagonal elements of an intermediate tridiagonal !> form did not converge to zero. !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 131 of file dsyev.f.
subroutine SSYEV (character jobz, character uplo, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( * ) w, real, dimension( * ) work, integer lwork, integer info)¶
SSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices
Purpose:
!> !> SSYEV computes all eigenvalues and, optionally, eigenvectors of a !> real symmetric matrix A. !>
Parameters
!> JOBZ is CHARACTER*1 !> = 'N': Compute eigenvalues only; !> = 'V': Compute eigenvalues and eigenvectors. !>
UPLO
!> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
A
!> A is REAL array, dimension (LDA, N) !> On entry, the symmetric matrix A. If UPLO = 'U', the !> leading N-by-N upper triangular part of A contains the !> upper triangular part of the matrix A. If UPLO = 'L', !> the leading N-by-N lower triangular part of A contains !> the lower triangular part of the matrix A. !> On exit, if JOBZ = 'V', then if INFO = 0, A contains the !> orthonormal eigenvectors of the matrix A. !> If JOBZ = 'N', then on exit the lower triangle (if UPLO='L') !> or the upper triangle (if UPLO='U') of A, including the !> diagonal, is destroyed. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
W
!> W is REAL array, dimension (N) !> If INFO = 0, the eigenvalues in ascending order. !>
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 length of the array WORK. LWORK >= max(1,3*N-1). !> For optimal efficiency, LWORK >= (NB+2)*N, !> where NB is the blocksize for SSYTRD returned by ILAENV. !> !> 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 algorithm failed to converge; i !> off-diagonal elements of an intermediate tridiagonal !> form did not converge to zero. !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 131 of file ssyev.f.
subroutine ZHEEV (character jobz, character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, double precision, dimension( * ) w, complex*16, dimension( * ) work, integer lwork, double precision, dimension( * ) rwork, integer info)¶
ZHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices
Purpose:
!> !> ZHEEV computes all eigenvalues and, optionally, eigenvectors of a !> complex Hermitian matrix A. !>
Parameters
!> JOBZ is CHARACTER*1 !> = 'N': Compute eigenvalues only; !> = 'V': Compute eigenvalues and eigenvectors. !>
UPLO
!> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !>
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
A
!> A is COMPLEX*16 array, dimension (LDA, N) !> On entry, the Hermitian matrix A. If UPLO = 'U', the !> leading N-by-N upper triangular part of A contains the !> upper triangular part of the matrix A. If UPLO = 'L', !> the leading N-by-N lower triangular part of A contains !> the lower triangular part of the matrix A. !> On exit, if JOBZ = 'V', then if INFO = 0, A contains the !> orthonormal eigenvectors of the matrix A. !> If JOBZ = 'N', then on exit the lower triangle (if UPLO='L') !> or the upper triangle (if UPLO='U') of A, including the !> diagonal, is destroyed. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
W
!> W is DOUBLE PRECISION array, dimension (N) !> If INFO = 0, the eigenvalues in ascending order. !>
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 length of the array WORK. LWORK >= max(1,2*N-1). !> For optimal efficiency, LWORK >= (NB+1)*N, !> where NB is the blocksize for ZHETRD returned by ILAENV. !> !> 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 (max(1, 3*N-2)) !>
INFO
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> > 0: if INFO = i, the algorithm failed to converge; i !> off-diagonal elements of an intermediate tridiagonal !> form did not converge to zero. !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 138 of file zheev.f.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
| Version 3.12.0 | LAPACK |