CHEGVD(3)
π
CHEGVD(3) β chegvd.f(3) from the Library Functions Manual
πΈ NAME
Bestie, this manual page is literally for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/chegvd.f. That's the whole NAME moment. π
β¨ SYNOPSIS
π οΈ Functions/Subroutines
subroutine CHEGVD (itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork,
rwork, lrwork, iwork, liwork, info)
CHEGVD
π Function/Subroutine Documentation
subroutine CHEGVD (integer itype, character jobz, character uplo, integer n,
complex, dimension( lda, * ) a, integer lda, complex, dimension( ldb, *
) b, integer ldb, real, dimension( * ) w, complex, dimension( * ) work,
integer lwork, real, dimension( * ) rwork, integer lrwork, integer,
dimension( * ) iwork, integer liwork, integer info)
CHEGVD
π― Purpose
Okay so CHEGVD computes all the eigenvalues, and optionally the eigenvectors, of a complex generalized Hermitian-definite eigenproblem, of the form A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x. Here A and B are assumed to be Hermitian and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. Slay. β¨
π Parameters
π ITYPE
Type: INTEGER
Specifies the problem type to be solved:
= 1:A*x = (lambda)*B*x= 2:A*B*x = (lambda)*x= 3:B*A*x = (lambda)*x
π¦ JOBZ
Type: CHARACTER*1
= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors.
π UPLO
Type: CHARACTER*1
= 'U': upper triangles ofAandBare stored;= 'L': lower triangles ofAandBare stored.
π N
Type: INTEGER
The order of the matrices A and B. N >= 0.
π A
Type: 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 matrix Z of eigenvectors. The eigenvectors are normalized as follows:
- if
ITYPE = 1or2,Z**H*B*Z = I; - if
ITYPE = 3,Z**H*inv(B)*Z = I.
Destroyed alert, bestie: ifJOBZ = 'N', then on exit the upper triangle (ifUPLO='U') or the lower triangle (ifUPLO='L') ofA, including the diagonal, is destroyed. π
πΈ LDA
Type: INTEGER
The leading dimension of the array A. LDA >= max(1,N).
π B
Type: COMPLEX array, dimension (LDB, N)
On entry, the Hermitian matrix B. If UPLO = 'U', the leading N-by-N upper triangular part of B contains the upper triangular part of the matrix B. If UPLO = 'L', the leading N-by-N lower triangular part of B contains the lower triangular part of the matrix B.
On exit, if INFO <= N, the part of B containing the matrix is overwritten by the triangular factor U or L from the Cholesky factorization B = U**H*U or B = L*L**H.
π§ LDB
Type: INTEGER
The leading dimension of the array B. LDB >= max(1,N).
β W
Type: REAL array, dimension (N)
If INFO = 0, the eigenvalues in ascending order.
π₯ WORK
Type: COMPLEX array, dimension (MAX(1,LWORK))
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
π LWORK
Type: INTEGER
The length of the array WORK.
- If
N <= 1,LWORK >= 1. - If
JOBZ = 'N'andN > 1,LWORK >= N + 1. - If
JOBZ = 'V'andN > 1,LWORK >= 2*N + N**2.
If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of the WORK, RWORK and IWORK arrays, returns these values as the first entries of the WORK, RWORK and IWORK arrays, and no error message related to LWORK or LRWORK or LIWORK is issued by XERBLA.
π« RWORK
Type: REAL array, dimension (MAX(1,LRWORK))
On exit, if INFO = 0, RWORK(1) returns the optimal LRWORK.
π«Ά LRWORK
Type: INTEGER
The dimension of the array RWORK.
- If
N <= 1,LRWORK >= 1. - If
JOBZ = 'N'andN > 1,LRWORK >= N. - If
JOBZ = 'V'andN > 1,LRWORK >= 1 + 5*N + 2*N**2.
If LRWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of the WORK, RWORK and IWORK arrays, returns these values as the first entries of the WORK, RWORK and IWORK arrays, and no error message related to LWORK or LRWORK or LIWORK is issued by XERBLA.
π IWORK
Type: INTEGER array, dimension (MAX(1,LIWORK))
On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK.
π LIWORK
Type: INTEGER
The dimension of the array IWORK.
- If
N <= 1,LIWORK >= 1. - If
JOBZ = 'N'andN > 1,LIWORK >= 1. - If
JOBZ = 'V'andN > 1,LIWORK >= 3 + 5*N.
If LIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of the WORK, RWORK and IWORK arrays, returns these values as the first entries of the WORK, RWORK and IWORK arrays, and no error message related to LWORK or LRWORK or LIWORK is issued by XERBLA.
π INFO
Type: INTEGER
= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.> 0:CPOTRForCHEEVDreturned an error code:<= N: ifINFO = iandJOBZ = 'N', then the algorithm failed to converge;ioff-diagonal elements of an intermediate tridiagonal form did not converge to zero; ifINFO = iandJOBZ = 'V', then the algorithm failed to compute an eigenvalue while working on the submatrix lying in rows and columnsINFO/(N+1)throughmod(INFO,N+1);> N: ifINFO = N + i, for1 <= i <= N, then the leading principal minor of orderiofBis not positive. The factorization ofBcould not be completed and no eigenvalues or eigenvectors were computed.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details
Modified so that no backsubstitution is performed if CHEEVD fails to converge (NEIG in old code could be greater than N causing out of bounds reference to A β reported by Ralf Meyer). Also corrected the description of INFO and the test on ITYPE. Sven, 16 Feb 05.
π«Ά Contributors
Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA.
Definition at line 241 of file chegvd.f.
π€ Author
Generated automatically by Doxygen for LAPACK from the source code.
Okay bestie, that's the whole tea. The footer on this one says LAPACK Version 3.12.0 and /home/abui...RC/chegvd.f(3). Periodt. πππ¦
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms