SRC/chbgvx.f(3)
okay bestie, welcome to the SRC/chbgvx.f(3) page from the Library Functions Manual β yes, that exact manual name, and yes we are getting into it π
π NAME π
SRC/chbgvx.f β thatβs the name entry, straight up, no extra lore.
β¨ SYNOPSIS β¨
π«Ά Functions/Subroutines π«Ά
subroutine chbgvx (jobz, range, uplo, n, ka, kb, ab, ldab, bb, ldbb, q,
ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork,
ifail, info)
CHBGVX
πΈ Function/Subroutine Documentation πΈ
subroutine chbgvx (character jobz, character range, character uplo, integer
n, integer ka, integer kb, complex, dimension( ldab, * ) ab, integer
ldab, complex, dimension( ldbb, * ) bb, integer ldbb, complex,
dimension( ldq, * ) q, integer ldq, 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)
CHBGVX
π¦ Purpose π¦
okay so CHBGVX computes all the eigenvalues, and optionally the eigenvectors, of a complex generalized Hermitian-definite banded eigenproblem, of the form A*x=(lambda)*B*x. Here A and B are assumed to be Hermitian and banded, and B is also positive definite. Eigenvalues and eigenvectors can be selected by specifying either all eigenvalues, a range of values or a range of indices for the desired eigenvalues. iconic behavior fr fr π
π Parameters π
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 of A and B are stored;= 'L': Lower triangles of A and B are stored.NβNisINTEGER. The order of the matrices A and B.N >= 0.KAβKAisINTEGER. The number of superdiagonals of the matrix A ifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KA >= 0.KBβKBisINTEGER. The number of superdiagonals of the matrix B ifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KB >= 0.ABβABisCOMPLEX array, dimension (LDAB, N). On entry, the upper or lower triangle of the Hermitian band matrix A, stored in the firstka+1rows of the array. The j-th column of A is stored in the j-th column of the arrayABas follows: ifUPLO = 'U',AB(ka+1+i-j,j) = A(i,j) for max(1,j-ka)<=i<=j; ifUPLO = 'L',AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+ka). On exit, the contents ofABare destroyed. πLDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= KA+1.BBβBBisCOMPLEX array, dimension (LDBB, N). On entry, the upper or lower triangle of the Hermitian band matrix B, stored in the firstkb+1rows of the array. The j-th column of B is stored in the j-th column of the arrayBBas follows: ifUPLO = 'U',BB(kb+1+i-j,j) = B(i,j) for max(1,j-kb)<=i<=j; ifUPLO = 'L',BB(1+i-j,j) = B(i,j) for j<=i<=min(n,j+kb). On exit, the factor S from the split Cholesky factorizationB = S**H*S, as returned byCPBSTF.LDBBβLDBBisINTEGER. The leading dimension of the arrayBB.LDBB >= KB+1.QβQisCOMPLEX array, dimension (LDQ, N). IfJOBZ = 'V', the n-by-n matrix used in the reduction ofA*x = (lambda)*B*xto standard form, i.e.C*x = (lambda)*x, and consequently C to tridiagonal form. IfJOBZ = 'N', the arrayQis not referenced.LDQβLDQisINTEGER. The leading dimension of the arrayQ. IfJOBZ = 'N',LDQ >= 1. IfJOBZ = 'V',LDQ >= max(1,N).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 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 reducing AP to tridiagonal form. Eigenvalues will be computed most accurately whenABSTOLis set to twice the underflow threshold2*SLAMCH('S'), not zero. If this routine returns withINFO>0, indicating that some eigenvectors did not converge, try settingABSTOLto2*SLAMCH('S').MβMisINTEGER. The total number of eigenvalues found.0 <= M <= N. IfRANGE = 'A',M = N, and ifRANGE = 'I',M = IU-IL+1.WβWisREAL array, dimension (N). IfINFO = 0, the eigenvalues in ascending order.ZβZisCOMPLEX array, dimension (LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the matrix Z of eigenvectors, with the i-th column of Z holding the eigenvector associated withW(i). The eigenvectors are normalized so thatZ**H*B*Z = I. IfJOBZ = 'N', thenZis not referenced.LDZβLDZisINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= N.WORKβWORKisCOMPLEX array, dimension (N).RWORKβRWORKisREAL array, dimension (7*N).IWORKβIWORKisINTEGER array, dimension (5*N).IFAILβIFAILisINTEGER 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βINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, and i is:<= N: then i eigenvectors failed to converge. Their indices are stored in arrayIFAIL.> N: ifINFO = N + i, for1 <= i <= N, thenCPBSTFreturnedINFO = i: B is not positive definite. The factorization of B could 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
Definition at line 297 of file chbgvx.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
and thatβs the whole page, bestie β the footer vibes are LAPACK Version 3.12.0 and the page is SRC/chbgvx.f(3). periodt. πβ¨π¦
π¦ 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