CHPGVX(3)
π NAME π
okay so this page comes from the Library Functions Manual, and the name here is literally the source file path: /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/chpgvx.f. no extra lore, bestie, that's the whole NAME section. π«Ά
β¨ SYNOPSIS β¨
πΈ Functions/Subroutines πΈ
here's the call, no cap:
subroutine CHPGVX (itype, jobz, range, uplo, n, ap, bp, vl, vu, il, iu,
abstol, m, w, z, ldz, work, rwork, iwork, ifail, info)
CHPGVX
π¦ Function/Subroutine Documentation π¦
subroutine CHPGVX (integer itype, character jobz, character range, character
uplo, integer n, complex, dimension( * ) ap, complex, dimension( * ) bp,
real vl, real vu, integer il, integer iu, real abstol, integer m, real,
dimension( * ) w, complex, dimension( ldz, * ) z, integer ldz, complex,
dimension( * ) work, real, dimension( * ) rwork, integer, dimension( * )
iwork, integer, dimension( * ) ifail, integer info)
CHPGVX
π― Purpose π―
CHPGVX computes selected eigenvalues and, optionally, eigenvectors of a complex generalized Hermitian-definite eigenproblem. the forms are 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. eigenvalues and eigenvectors can be selected by specifying either a range of values or a range of indices for the desired eigenvalues. slay. π
π Parameters π
ITYPEβITYPEisINTEGER. 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βJOBZisCHARACTER*1.= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
RANGEβRANGEisCHARACTER*1.= 'A': all eigenvalues will be found;= 'V': all eigenvalues in the half-open interval(VL,VU]will be found;= 'I': theIL-th throughIU-th eigenvalues will be found.
UPLOβUPLOisCHARACTER*1.= 'U': Upper triangles ofAandBare stored;= 'L': Lower triangles ofAandBare stored.
NβNisINTEGER. The order of the matricesAandB.N >= 0.APβAPisCOMPLEXarray, dimension(N*(N+1)/2). On entry, the upper or lower triangle of the Hermitian matrixA, packed columnwise in a linear array. Thej-th column ofAis stored in the arrayAPas follows:- if
UPLO = 'U',AP(i + (j-1)*j/2) = A(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2*n-j)/2) = A(i,j)forj<=i<=n.
- if
β οΈ on exit, the contents of AP are destroyed. gone. bye. π
BPβBPisCOMPLEXarray, dimension(N*(N+1)/2). On entry, the upper or lower triangle of the Hermitian matrixB, packed columnwise in a linear array. Thej-th column ofBis stored in the arrayBPas follows:- if
UPLO = 'U',BP(i + (j-1)*j/2) = B(i,j)for1<=i<=j; - if
UPLO = 'L',BP(i + (j-1)*(2*n-j)/2) = B(i,j)forj<=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. iconic.
VLβVLisREAL. IfRANGE='V', the lower bound of the interval to be searched for eigenvalues.VL < VU. Not referenced ifRANGE = 'A'or'I'.VUβVUisREAL. IfRANGE='V', the upper bound of the interval to be searched for eigenvalues.VL < VU. Not referenced ifRANGE = 'A'or'I'.ILβILisINTEGER. IfRANGE='I', the index of the smallest eigenvalue to be returned.1 <= IL <= IU <= N, ifN > 0;IL = 1andIU = 0ifN = 0. Not referenced ifRANGE = 'A'or'V'.IUβIUisINTEGER. IfRANGE='I', the index of the largest eigenvalue to be returned.1 <= IL <= IU <= N, ifN > 0;IL = 1andIU = 0ifN = 0. Not referenced ifRANGE = 'A'or'V'.ABSTOLβABSTOLisREAL. The absolute error tolerance for the eigenvalues. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval[a,b]of width less than or equal to
ABSTOL + EPS * max( |a|,|b| ) ,
where EPS is the machine precision. If ABSTOL is less than or equal to zero, then EPS*|T| will be used in its place, where |T| is the 1-norm of the tridiagonal matrix obtained by reducing AP to tridiagonal form.
Eigenvalues will be computed most accurately when ABSTOL is set to twice the underflow threshold 2*SLAMCH('S'), not zero. If this routine returns with INFO>0, indicating that some eigenvectors did not converge, try setting ABSTOL to 2*SLAMCH('S'). noted. π
MβMisINTEGER. The total number of eigenvalues found.0 <= M <= N. IfRANGE = 'A',M = N, and ifRANGE = 'I',M = IU-IL+1.WβWisREALarray, dimension(N). On normal exit, the firstMelements contain the selected eigenvalues in ascending order.ZβZisCOMPLEXarray, dimension(LDZ, N). IfJOBZ = 'N', thenZis not referenced. IfJOBZ = 'V', then ifINFO = 0, the firstMcolumns ofZcontain the orthonormal eigenvectors of the matrixAcorresponding to the selected eigenvalues, with thei-th column ofZholding the eigenvector associated withW(i). 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 an eigenvector fails to converge, then that column of Z contains the latest approximation to the eigenvector, and the index of the eigenvector is returned in IFAIL. Note: the user must ensure that at least max(1,M) columns are supplied in the array Z; if RANGE = 'V', the exact value of M is not known in advance and an upper bound must be used.
LDZβLDZisINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβWORKisCOMPLEXarray, dimension(2*N).RWORKβRWORKisREALarray, dimension(7*N).IWORKβIWORKisINTEGERarray, dimension(5*N).IFAILβIFAILisINTEGERarray, dimension(N). IfJOBZ = 'V', then ifINFO = 0, the firstMelements ofIFAILare zero. IfINFO > 0, thenIFAILcontains the indices of the eigenvectors that failed to converge. IfJOBZ = 'N', thenIFAILis not referenced.INFOβINFOisINTEGER.= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value> 0:CPPTRForCHPEVXreturned an error code:<= N: ifINFO = i,CHPEVXfailed to converge;ieigenvectors failed to converge. Their indices are stored in arrayIFAIL.> 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.
π Contributors π
- Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA
Definition at line 274 of file chpgvx.f.
π Author (generated) π
Generated automatically by Doxygen for LAPACK from the source code.
that's the whole vibe, bestie β LAPACK Version 3.12.0, page /home/abui...RC/chpgvx.f(3). mwah πβ¨
π¦ 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