SRC/zhpevx.f(3)
π¦ SRC/zhpevx.f(3) β Library Functions Manual
Okay bestie, you're reading the SRC/zhpevx.f(3) page from the Library Functions Manual, and it's all about zhpevx β no cap, this one is a whole vibe. β¨
π NAME
SRC/zhpevx.f β the ZHPEVX page, periodt.
β¨ SYNOPSIS
π§ Functions/Subroutines
subroutine zhpevx (jobz, range, uplo, n, ap, vl, vu, il, iu, abstol, m,
w, z, ldz, work, rwork, iwork, ifail, info)
ZHPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices. π
π«Ά Function/Subroutine Documentation
subroutine zhpevx (character jobz, character range, character uplo, integer
n, complex*16, dimension( * ) ap, double precision vl, double precision
vu, integer il, integer iu, double precision abstol, integer m, double
precision, dimension( * ) w, complex*16, dimension( ldz, * ) z, integer
ldz, complex*16, dimension( * ) work, double precision, dimension( * )
rwork, integer, dimension( * ) iwork, integer, dimension( * ) ifail,
integer info)
ZHPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices. π«Ά
πΈ Purpose
ZHPEVX computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A in packed storage. Eigenvalues/vectors can be selected by specifying either a range of values or a range of indices for the desired eigenvalues. Iconic behavior, honestly. π
π Parameters
JOBZβJOBZ is CHARACTER*1= 'N':Compute eigenvalues only;= 'V':Compute eigenvalues and eigenvectors.
RANGEβRANGE is CHARACTER*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βUPLO is CHARACTER*1= 'U':Upper triangle ofAis stored;= 'L':Lower triangle ofAis stored.
NβN is INTEGERThe order of the matrixA.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. Thej-th column ofAis stored in the arrayAPas follows: ifUPLO = 'U',AP(i + (j-1)*j/2) = A(i,j)for1<=i<=j; ifUPLO = 'L',AP(i + (j-1)*(2*n-j)/2) = A(i,j)forj<=i<=n. On exit,APis overwritten by values generated during the reduction to tridiagonal form. IfUPLO = 'U', the diagonal and first superdiagonal of the tridiagonal matrixToverwrite the corresponding elements ofA, and ifUPLO = 'L', the diagonal and first subdiagonal ofToverwrite the corresponding elements ofA.VLβVL is DOUBLE PRECISIONIfRANGE='V', the lower bound of the interval to be searched for eigenvalues.VL < VU. Not referenced ifRANGE = 'A'or'I'.VUβVU is DOUBLE PRECISIONIfRANGE='V', the upper bound of the interval to be searched for eigenvalues.VL < VU. Not referenced ifRANGE = 'A'or'I'.ILβIL is INTEGERIfRANGE='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βIU is INTEGERIfRANGE='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βABSTOL is DOUBLE PRECISIONThe 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 toABSTOL + EPS * max( |a|,|b| ) ,whereEPSis the machine precision. IfABSTOLis less than or equal to zero, thenEPS*|T|will be used in its place, where|T|is the 1-norm of the tridiagonal matrix obtained by reducingAPto tridiagonal form. Eigenvalues will be computed most accurately whenABSTOLis set to twice the underflow threshold2*DLAMCH('S'), not zero. If this routine returns withINFO>0, indicating that some eigenvectors did not converge, try settingABSTOLto2*DLAMCH('S'). See by Demmel and Kahan, LAPACK Working Note #3.MβM is INTEGERThe total number of eigenvalues found.0 <= M <= N. IfRANGE = 'A',M = N, and ifRANGE = 'I',M = IU-IL+1.WβW is DOUBLE PRECISION array, dimension (N)IfINFO = 0, the selected eigenvalues in ascending order.ZβZ is COMPLEX*16 array, dimension (LDZ, max(1,M))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). If an eigenvector fails to converge, then that column ofZcontains the latest approximation to the eigenvector, and the index of the eigenvector is returned inIFAIL. IfJOBZ = 'N', thenZis not referenced. Note: the user must ensure that at leastmax(1,M)columns are supplied in the arrayZ; ifRANGE = 'V', the exact value ofMis not known in advance and an upper bound must be used.LDZβLDZ is INTEGERThe leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβWORK is COMPLEX*16 array, dimension (2*N)RWORKβRWORK is DOUBLE PRECISION array, dimension (7*N)IWORKβIWORK is INTEGER array, dimension (5*N)IFAILβIFAIL is INTEGER array, 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βINFO is INTEGER= 0:successful exit< 0:ifINFO = -i, thei-th argument had an illegal value> 0:ifINFO = i, thenieigenvectors failed to converge. Their indices are stored in arrayIFAIL.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 237 of file zhpevx.f
π Author
Generated automatically by Doxygen for LAPACK from the source code.
That's the whole page, bestie β no skipped details, no missing parameters, fr fr. π This is LAPACK Version 3.12.0, page SRC/zhpevx.f(3) β cute little footer moment. π Slay, you made it to the end. Mwah. πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms