ZHPGVD(3)
π¦ ZHPGVD(3) β Library Functions Manual realness π¦
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zhpgvd.f β yep, that's the file, and this page is its Library Functions Manual moment. The star of the show is ZHPGVD(3), bestie. π
β¨ SYNOPSIS β¨
π§© Functions/Subroutines
Ok so the call is exactly this, no cap:
subroutine ZHPGVD (itype, jobz, uplo, n, ap, bp, w, z, ldz, work, lwork,
rwork, lrwork, iwork, liwork, info)
ZHPGVD
πͺ Function/Subroutine Documentation πͺ
Here's the full signature with all the types and dimensions laid out, character for character:
subroutine ZHPGVD (integer itype, character jobz, character uplo, integer n,
complex*16, dimension( * ) ap, complex*16, dimension( * ) bp, double
precision, dimension( * ) w, complex*16, dimension( ldz, * ) z, integer
ldz, complex*16, dimension( * ) work, integer lwork, double precision,
dimension( * ) rwork, integer lrwork, integer, dimension( * ) iwork,
integer liwork, integer info)
ZHPGVD
π― Purpose
ZHPGVD computes all the eigenvalues and, optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem. It's giving three possible forms:
A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x.
Here A and B are assumed to be Hermitian, stored in packed format, and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. Iconic behavior, honestly. β¨
π§Ύ Parameters
Every single one, periodt:
ITYPEβITYPE is 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βJOBZ is CHARACTER*1;= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors. Choose your fighter. πUPLOβUPLO is CHARACTER*1;= 'U': upper triangles ofAandBare stored;= 'L': lower triangles ofAandBare stored.NβN is INTEGER; the order of the matricesAandB.N >= 0.APβAP is COMPLEX*16 array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the Hermitian matrixA, packed columnwise in a linear array. The j-th column ofAis stored in the arrayAPas follows:- if
UPLO = 'U',AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
- if
On exit, the contents of AP are destroyed. RIP to that data, fr fr. π
BPβBP is COMPLEX*16 array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the Hermitian matrixB, packed columnwise in a linear array. The j-th column ofBis stored in the arrayBPas follows:- if
UPLO = 'U',BP(i + (j-1)*j/2) = B(i,j) for 1<=i<=j; - if
UPLO = 'L',BP(i + (j-1)*(2*n-j)/2) = B(i,j) for j<=i<=n.
- if
On exit, the triangular factor U or L from the Cholesky factorization B = U**H*U or B = L*L**H, in the same storage format as B.
WβW is DOUBLE PRECISION array, dimension (N); ifINFO = 0, the eigenvalues in ascending order. Slay. βZβZ is COMPLEX*16 array, dimension (LDZ, N); ifJOBZ = 'V', then ifINFO = 0,Zcontains the matrixZof eigenvectors. The eigenvectors are normalized as follows:- if
ITYPE = 1or2,Z**H*B*Z = I; - if
ITYPE = 3,Z**H*inv(B)*Z = I.
- if
If JOBZ = 'N', then Z is not referenced.
LDZβLDZ is INTEGER; the leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβWORK is COMPLEX*16 array, dimension (MAX(1,LWORK)); on exit, ifINFO = 0,WORK(1)returns the requiredLWORK.LWORKβLWORK is INTEGER; the dimension of the arrayWORK.- If
N <= 1,LWORK >= 1. - If
JOBZ = 'N'andN > 1,LWORK >= N. - If
JOBZ = 'V'andN > 1,LWORK >= 2*N. - If
LWORK = -1, then a workspace query is assumed; the routine only calculates the required sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA.
- If
RWORKβRWORK is DOUBLE PRECISION array, dimension (MAX(1,LRWORK)); on exit, ifINFO = 0,RWORK(1)returns the requiredLRWORK.LRWORKβLRWORK is INTEGER; the dimension of arrayRWORK.- 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 required sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA.
- If
IWORKβIWORK is INTEGER array, dimension (MAX(1,LIWORK)); on exit, ifINFO = 0,IWORK(1)returns the requiredLIWORK.LIWORKβLIWORK is INTEGER; the dimension of arrayIWORK.- If
JOBZ = 'N'orN <= 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 required sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA.
- If
INFOβINFO is INTEGER= 0: successful exit. We love a clean exit. π«Ά< 0: ifINFO = -i, the i-th argument had an illegal value.> 0:ZPPTRForZHPEVDreturned an error code:<= N: ifINFO = i,ZHPEVDfailed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= n, then the leading principal minor of order i ofBis not positive. The factorization ofBcould not be completed and no eigenvalues or eigenvectors were computed. Big yikes. π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors:
- Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA
π§΅ Definition at line
Definition at line 223 of file zhpgvd.f.
πͺ Author πͺ
Generated automatically by Doxygen for LAPACK from the source code.
Generated automatically by Doxygen for LAPACK from the source code. LAPACK Version 3.12.0 Β· /home/abui...RC/zhpgvd.f(3) β that's the sign-off, bestie. π
β¨
π¦ 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