hbgv(3)
π NAME π
hbgv β {hb,sb}gv: eig, QR iteration.
okay bestie, welcome to the hbgv(3) page from the Library Functions Manual. This is the group chat for the {hb,sb}gv routines, and we are keeping every detail. no cap. β¨
β¨ SYNOPSIS β¨
π Functions π
Functions
subroutine chbgv (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, rwork, info)
CHBGV
subroutine dsbgv (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, info)
DSBGV
subroutine ssbgv (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, info)
SSBGV
subroutine zhbgv (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, rwork, info)
ZHBGV
π Detailed Description π
okay so the actual function tea lives in the docs below. No extra lore here, just the signatures and the parameter breakdowns. π«Ά
π Function Documentation π
π subroutine chbgv β CHBGV π
subroutine chbgv (character jobz, character uplo, integer n, integer ka,
integer kb, complex, dimension( ldab, * ) ab, integer ldab, complex,
dimension( ldbb, * ) bb, integer ldbb, real, dimension( * ) w, complex,
dimension( ldz, * ) z, integer ldz, complex, dimension( * ) work, real,
dimension( * ) rwork, integer info)
CHBGV
π― Purpose
okay so CHBGV 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. That's the whole assignment, bestie. π
π§Ύ Parameters
JOBZβJOBZisCHARACTER*1.= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors. Pick your fighter. β¨UPLOβUPLOisCHARACTER*1.= 'U': upper triangles ofAandBare stored;= 'L': lower triangles ofAandBare stored. no cap.NβNisINTEGER. The order of the matricesAandB.N >= 0.KAβKAisINTEGER. The number of superdiagonals of the matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KA >= 0.KBβKBisINTEGER. The number of superdiagonals of the matrixBifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KB >= 0.ABβABisCOMPLEXarray, dimension(LDAB, N). On entry, the upper or lower triangle of the Hermitian band matrixA, stored in the firstka+1rows of the array. The j-th column ofAis stored in the j-th column of the arrayABas follows:- if
UPLO = 'U',AB(ka+1+i-j,j) = A(i,j)formax(1,j-ka)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+ka).
- if
β οΈ On exit, the contents of AB are destroyed. not me forgetting to warn you, bestie. π
LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= KA+1.BBβBBisCOMPLEXarray, dimension(LDBB, N). On entry, the upper or lower triangle of the Hermitian band matrixB, stored in the firstkb+1rows of the array. The j-th column ofBis stored in the j-th column of the arrayBBas follows:- if
UPLO = 'U',BB(kb+1+i-j,j) = B(i,j)formax(1,j-kb)<=i<=j; - if
UPLO = 'L',BB(1+i-j,j) = B(i,j)forj<=i<=min(n,j+kb). On exit, the factorSfrom the split Cholesky factorizationB = S**H*S, as returned byCPBSTF. iconic.
- if
LDBBβLDBBisINTEGER. The leading dimension of the arrayBB.LDBB >= KB+1.WβWisREALarray, dimension(N). IfINFO = 0, the eigenvalues in ascending order.ZβZisCOMPLEXarray, dimension(LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the matrixZof eigenvectors, with the i-th column ofZholding 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βWORKisCOMPLEXarray, dimension(N).RWORKβRWORKisREALarray, dimension(3*N).INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, andiis:<= N: the algorithm failed to converge:ioff-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= N, thenCPBSTFreturnedINFO = i:Bis not positive definite. 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.
π Definition at line 181 of file chbgv.f.
π subroutine dsbgv β DSBGV π
subroutine dsbgv (character jobz, character uplo, integer n, integer ka,
integer kb, double precision, dimension( ldab, * ) ab, integer ldab,
double precision, dimension( ldbb, * ) bb, integer ldbb, double
precision, dimension( * ) w, double precision, dimension( ldz, * ) z,
integer ldz, double precision, dimension( * ) work, integer info)
DSBGV
π― Purpose
okay so DSBGV computes all the eigenvalues, and optionally, the eigenvectors, of a real generalized symmetric-definite banded eigenproblem, of the form A*x=(lambda)*B*x. Here A and B are assumed to be symmetric and banded, and B is also positive definite. periodt. π
π§Ύ Parameters
JOBZβJOBZisCHARACTER*1.= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors.UPLOβUPLOisCHARACTER*1.= 'U': upper triangles ofAandBare stored;= 'L': lower triangles ofAandBare stored.NβNisINTEGER. The order of the matricesAandB.N >= 0.KAβKAisINTEGER. The number of superdiagonals of the matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KA >= 0.KBβKBisINTEGER. The number of superdiagonals of the matrixBifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KB >= 0.ABβABisDOUBLE PRECISIONarray, dimension(LDAB, N). On entry, the upper or lower triangle of the symmetric band matrixA, stored in the firstka+1rows of the array. The j-th column ofAis stored in the j-th column of the arrayABas follows:- if
UPLO = 'U',AB(ka+1+i-j,j) = A(i,j)formax(1,j-ka)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+ka).
- if
β οΈ On exit, the contents of AB are destroyed. it's giving "say bye to your data." π
LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= KA+1.BBβBBisDOUBLE PRECISIONarray, dimension(LDBB, N). On entry, the upper or lower triangle of the symmetric band matrixB, stored in the firstkb+1rows of the array. The j-th column ofBis stored in the j-th column of the arrayBBas follows:- if
UPLO = 'U',BB(kb+1+i-j,j) = B(i,j)formax(1,j-kb)<=i<=j; - if
UPLO = 'L',BB(1+i-j,j) = B(i,j)forj<=i<=min(n,j+kb). On exit, the factorSfrom the split Cholesky factorizationB = S**T*S, as returned byDPBSTF.
- if
LDBBβLDBBisINTEGER. The leading dimension of the arrayBB.LDBB >= KB+1.WβWisDOUBLE PRECISIONarray, dimension(N). IfINFO = 0, the eigenvalues in ascending order.ZβZisDOUBLE PRECISIONarray, dimension(LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the matrixZof eigenvectors, with the i-th column ofZholding the eigenvector associated withW(i). The eigenvectors are normalized so thatZ**T*B*Z = I. IfJOBZ = 'N', thenZis not referenced.LDZβLDZisINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= N.WORKβWORKisDOUBLE PRECISIONarray, dimension(3*N).INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, andiis:<= N: the algorithm failed to converge:ioff-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= N, thenDPBSTFreturnedINFO = i:Bis not positive definite. 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.
π Definition at line 175 of file dsbgv.f.
π subroutine ssbgv β SSBGV π
subroutine ssbgv (character jobz, character uplo, integer n, integer ka,
integer kb, real, dimension( ldab, * ) ab, integer ldab, real,
dimension( ldbb, * ) bb, integer ldbb, real, dimension( * ) w, real,
dimension( ldz, * ) z, integer ldz, real, dimension( * ) work, integer
info)
SSBGV
π― Purpose
okay so SSBGV computes all the eigenvalues, and optionally, the eigenvectors, of a real generalized symmetric-definite banded eigenproblem, of the form A*x=(lambda)*B*x. Here A and B are assumed to be symmetric and banded, and B is also positive definite. π¦
β¨ Parameters β¨ (ssbgv bestie edition)
JOBZβ typeCHARACTER*1. The vibe selector, fr:'N'β compute eigenvalues only;'V'β compute eigenvalues and eigenvectors.
UPLOβ typeCHARACTER*1. Tells us which triangle is living in the array:'U'β upper triangles ofAandBare stored;'L'β lower triangles ofAandBare stored.
Nβ typeINTEGER. The order of matricesAandB. Constraint:N >= 0.KAβ typeINTEGER. The number of superdiagonals of matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'. Constraint:KA >= 0.KBβ typeINTEGER. The number of superdiagonals of matrixBifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'. Constraint:KB >= 0.ABβ typeREAL array, dimension (LDAB, N). On entry, this holds the upper or lower triangle of the symmetric band matrixA, stored in the firstka+1rows of the array. The j-th column ofAis stored in the j-th column of the arrayABlike this:- if
UPLO = 'U',AB(ka+1+i-j,j) = A(i,j)formax(1,j-ka)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+ka).
- if
On exit, the contents of AB are destroyed. Not me forgetting to warn you β thatβs literally the manpage energy. π
LDABβ typeINTEGER. The leading dimension of the arrayAB. Constraint:LDAB >= KA+1.BBβ typeREAL array, dimension (LDBB, N). On entry, this holds the upper or lower triangle of the symmetric band matrixB, stored in the firstkb+1rows of the array. The j-th column ofBis stored in the j-th column of the arrayBBlike this:- if
UPLO = 'U',BB(kb+1+i-j,j) = B(i,j)formax(1,j-kb)<=i<=j; - if
UPLO = 'L',BB(1+i-j,j) = B(i,j)forj<=i<=min(n,j+kb).
- if
On exit, this holds the factor S from the split Cholesky factorization B = S**T*S, as returned by SPBSTF. Slay. β¨
LDBBβ typeINTEGER. The leading dimension of the arrayBB. Constraint:LDBB >= KB+1.Wβ typeREAL array, dimension (N). IfINFO = 0, this holds the eigenvalues in ascending order. Cute and sorted, we love to see it.Zβ typeREAL array, dimension (LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the matrixZof eigenvectors, with the i-th column ofZholding the eigenvector associated withW(i). The eigenvectors are normalized so thatZ**T*B*Z = I. IfJOBZ = 'N', thenZis not referenced. Respect the boundaries, bestie. π«ΆLDZβ typeINTEGER. The leading dimension of the arrayZ. Constraint:LDZ >= 1, and ifJOBZ = 'V',LDZ >= N.WORKβ typeREAL array, dimension (3*N). The work array. Itβs giving backstage crew β not the main character, but nothing happens without it.INFOβ typeINTEGER. The receipts:= 0: successful exit;< 0: ifINFO = -i, the i-th argument had an illegal value;> 0: ifINFO = i, and i is:<= N: the algorithm failed to converge:ioff-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= N, thenSPBSTFreturnedINFO = i:Bis not positive definite. 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.
Definition at line 175 of file ssbgv.f.
π zhbgv subroutine π
subroutine zhbgv (character jobz, character uplo, integer n, integer ka,
integer kb, complex*16, dimension( ldab, * ) ab, integer ldab,
complex*16, dimension( ldbb, * ) bb, integer ldbb, double precision,
dimension( * ) w, complex*16, dimension( ldz, * ) z, integer ldz,
complex*16, dimension( * ) work, double precision, dimension( * ) rwork,
integer info)
π ZHBGV π
π« Purpose π«
ZHBGV 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. Itβs giving complex eigenvalues with main character energy β but the math is doing the actual slaying. π
β¨ Parameters β¨ (zhbgv edition)
JOBZβ typeCHARACTER*1. Same selector energy:'N'β compute eigenvalues only;'V'β compute eigenvalues and eigenvectors.
UPLOβ typeCHARACTER*1. Which triangle are we storing?'U'β upper triangles ofAandBare stored;'L'β lower triangles ofAandBare stored.
Nβ typeINTEGER. The order of matricesAandB. Constraint:N >= 0.KAβ typeINTEGER. The number of superdiagonals of matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'. Constraint:KA >= 0.KBβ typeINTEGER. The number of superdiagonals of matrixBifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'. Constraint:KB >= 0.ABβ typeCOMPLEX*16 array, dimension (LDAB, N). On entry, this holds the upper or lower triangle of the Hermitian band matrixA, stored in the firstka+1rows of the array. The j-th column ofAis stored in the j-th column of the arrayABlike this:- if
UPLO = 'U',AB(ka+1+i-j,j) = A(i,j)formax(1,j-ka)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+ka).
- if
On exit, the contents of AB are destroyed. Yes, bestie, it gets cooked. π₯
LDABβ typeINTEGER. The leading dimension of the arrayAB. Constraint:LDAB >= KA+1.BBβ typeCOMPLEX*16 array, dimension (LDBB, N). On entry, this holds the upper or lower triangle of the Hermitian band matrixB, stored in the firstkb+1rows of the array. The j-th column ofBis stored in the j-th column of the arrayBBlike this:- if
UPLO = 'U',BB(kb+1+i-j,j) = B(i,j)formax(1,j-kb)<=i<=j; - if
UPLO = 'L',BB(1+i-j,j) = B(i,j)forj<=i<=min(n,j+kb).
- if
On exit, this holds the factor S from the split Cholesky factorization B = S**H*S, as returned by ZPBSTF. Iconic factorization behavior. π
LDBBβ typeINTEGER. The leading dimension of the arrayBB. Constraint:LDBB >= KB+1.Wβ typeDOUBLE PRECISION array, dimension (N). IfINFO = 0, this holds the eigenvalues in ascending order.Zβ typeCOMPLEX*16 array, dimension (LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the matrixZof eigenvectors, with the i-th column ofZholding the eigenvector associated withW(i). The eigenvectors are normalized so thatZ**H*B*Z = I. IfJOBZ = 'N', thenZis not referenced. We stan a normalized eigenvector. πLDZβ typeINTEGER. The leading dimension of the arrayZ. Constraint:LDZ >= 1, and ifJOBZ = 'V',LDZ >= N.WORKβ typeCOMPLEX*16 array, dimension (N). Work array. Essential, even if it doesnβt get a shoutout in the group chat.RWORKβ typeDOUBLE PRECISION array, dimension (3*N). Real work array. Different lane, same mission.INFOβ typeINTEGER. The final receipts:= 0: successful exit;< 0: ifINFO = -i, the i-th argument had an illegal value;> 0: ifINFO = i, and i is:<= N: the algorithm failed to converge:ioff-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= N, thenZPBSTFreturnedINFO = i:Bis not positive definite. 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.
Definition at line 181 of file zhbgv.f.
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code.
π Thatβs the footer tea, bestie: LAPACK, Version 3.12.0, hbgv(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