hbgvd(3)
okay so you opened hbgvd(3) from the Library Functions Manual and honestly? iconic choice. let's get into it π
β¨ NAME β¨
hbgvd β {hb,sb}gvd: eig, divide and conquer π
πΈ SYNOPSIS πΈ
Functions
chbgvd:
subroutine chbgvd (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, lwork, rwork, lrwork, iwork, liwork, info)
CHBGVD
dsbgvd:
subroutine dsbgvd (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, lwork, iwork, liwork, info)
DSBGVD
ssbgvd:
subroutine ssbgvd (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, lwork, iwork, liwork, info)
SSBGVD
zhbgvd:
subroutine zhbgvd (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, lwork, rwork, lrwork, iwork, liwork, info)
ZHBGVD
π¦ Detailed Description π¦
so the original page literally just vibes here with the heading and nothing under it π no cap, that's the whole section. moving on bestie.
π Function Documentation π
chbgvd
subroutine chbgvd (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, integer lwork, real, dimension( * ) rwork, integer lrwork, integer, dimension( * ) iwork, integer liwork, integer info) CHBGVD
π« Purpose π«
okay so CHBGVD computes all the eigenvalues, and optionally the eigenvectors, of a complex generalized Hermitian-definite banded eigenproblem, and the form is:
A*x=(lambda)*B*x
here A and B are assumed to be Hermitian and banded, and B is also positive definite. if you want eigenvectors, it uses a divide and conquer algorithm. slay. π
π§ Parameters π§
JOBZβJOBZisCHARACTER*1. two moods:= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors.
UPLOβUPLOisCHARACTER*1. pick your triangle:= '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β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. bestie she's gone, no refunds π
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).
- if
on exit, the factor S from the split Cholesky factorization B = S**H*S, as returned by CPBSTF.
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 (she's not invited to the party).LDZβLDZisINTEGER. the leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= N.WORKβWORKisCOMPLEXarray, dimension(MAX(1,LWORK)). on exit, ifINFO=0,WORK(1)returns the optimalLWORK.LWORKβLWORKisINTEGER. the dimension of the arrayWORK. the sizing tea:- if
N <= 1,LWORK >= 1. - if
JOBZ = 'N'andN > 1,LWORK >= N. - if
JOBZ = 'V'andN > 1,LWORK >= 2*N**2.
- if
ifLWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA.
RWORKβRWORKisREALarray, dimension(MAX(1,LRWORK)). on exit, ifINFO=0,RWORK(1)returns the optimalLRWORK.LRWORKβLRWORKisINTEGER. the dimension of arrayRWORK. the sizing tea, round two:- 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
ifLRWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA.
IWORKβIWORKisINTEGERarray, dimension(MAX(1,LIWORK)). on exit, ifINFO=0,IWORK(1)returns the optimalLIWORK.LIWORKβLIWORKisINTEGER. the dimension of arrayIWORK:- if
JOBZ = 'N'orN <= 1,LIWORK >= 1. - if
JOBZ = 'V'andN > 1,LIWORK >= 3 + 5*N.
- if
ifLIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA.
INFOβINFOisINTEGER. the receipts:= 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.
π«Ά Contributors π«Ά
- Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA
Definition at line 243 of file chbgvd.f.
dsbgvd
subroutine dsbgvd (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 lwork, integer, dimension( * ) iwork, integer liwork, integer info) DSBGVD
π« Purpose π«
DSBGVD 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. if eigenvectors are desired, it uses a divide and conquer algorithm. π₯
π§ Parameters π§
JOBZβJOBZisCHARACTER*1. pick a lane:= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors.
UPLOβUPLOisCHARACTER*1. pick your triangle:= '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. yeah she's not coming back π«‘
LDABβLDABisINTEGER. the leading dimension of the arrayAB.LDAB >= KA+1.BBβ β¦BBβ bestie, this is aDOUBLE PRECISIONarray, dimension(LDBB, N). On entry, it holds the upper or lower triangle of the symmetric band matrix B, stored in the firstkb+1rows of the array. The j-th column of B lives in the j-th column of BB like this: ifUPLO = 'U', thenBB(ka+1+i-j,j) = B(i,j)formax(1,j-kb)<=i<=j; ifUPLO = 'L', thenBB(1+i-j,j) = B(i,j)forj<=i<=min(n,j+kb). On exit, it holds the factor S from the split Cholesky factorizationB = S**T*S, as returned byDPBSTF. πLDBBβ anINTEGER. This is the leading dimension of the array BB. You needLDBB >= KB+1. No skimping. β¨Wβ aDOUBLE PRECISIONarray, dimension(N). IfINFO = 0, it contains the eigenvalues in ascending order. Slay. πZβ aDOUBLE PRECISIONarray, dimension(LDZ, N). IfJOBZ = 'V', then whenINFO = 0, Z contains the matrix Z of eigenvectors, with the i-th column of Z holding the eigenvector associated withW(i). The eigenvectors are normalized soZ**T*B*Z = I. IfJOBZ = 'N', then Z is literally not referenced. Bye. π¦LDZβ anINTEGER. The leading dimension of the array Z.LDZ >= 1, and ifJOBZ = 'V', thenLDZ >= max(1,N). Periodt. πWORKβ aDOUBLE PRECISIONarray, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. It's giving workspace realness. πLWORKβ anINTEGER. The dimension of the array WORK. Here's the tea: ifN <= 1, thenLWORK >= 1. IfJOBZ = 'N'andN > 1, thenLWORK >= 2*N. IfJOBZ = 'V'andN > 1, thenLWORK >= 1 + 5*N + 2*N**2. And ifLWORK = -1, then a workspace query is assumed β the routine only calculates the optimal sizes of the WORK and IWORK arrays, returns these values as the first entries of the WORK and IWORK arrays, and no error message related to LWORK or LIWORK is issued by XERBLA. Iconic. π₯IWORKβ anINTEGERarray, dimension(MAX(1,LIWORK)). On exit, ifLIWORK > 0,IWORK(1)returns the optimalLIWORK. πLIWORKβ anINTEGER. The dimension of the array IWORK. IfJOBZ = 'N'orN <= 1, thenLIWORK >= 1. IfJOBZ = 'V'andN > 1, thenLIWORK >= 3 + 5*N. IfLIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of the WORK and IWORK arrays, returns these values as the first entries of the WORK and IWORK arrays, and no error message related to LWORK or LIWORK is issued by XERBLA. Same energy. β¨INFOβ anINTEGER.= 0: successful exit, we love to see it.< 0: ifINFO = -i, the i-th argument had an illegal value (oops).> 0: ifINFO = i, and i is:<= N: the algorithm failed to converge β i off-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= N, thenDPBSTFreturnedINFO = i: B is not positive definite. The factorization of B could 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 219 of file dsbgvd.f.
π¦ subroutine ssbgvd π¦
subroutine ssbgvd (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
lwork, integer, dimension( * ) iwork, integer liwork, integer info)
SSBGVD
π SSBGVD π
π« Purpose π«
SSBGVD 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. If eigenvectors are desired, it uses a divide and conquer algorithm. It's giving main character energy, fr fr. π
β¨ Parameters β¨
JOBZβ aCHARACTER*1.= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors. Choose your fighter. πUPLOβ aCHARACTER*1.= 'U': upper triangles of A and B are stored;= 'L': lower triangles of A and B are stored. Pick a side. πNβ anINTEGER. The order of the matrices A and B.N >= 0. Respect the dimension. β¨KAβ anINTEGER. The number of superdiagonals of the matrix A ifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KA >= 0. No cap. π§KBβ anINTEGER. The number of superdiagonals of the matrix B ifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KB >= 0. Another one. πABβ aREALarray, dimension(LDAB, N). On entry, the upper or lower triangle of the symmetric 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 array AB as follows: ifUPLO = 'U', thenAB(ka+1+i-j,j) = A(i,j)formax(1,j-ka)<=i<=j; ifUPLO = 'L', thenAB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+ka). On exit, the contents of AB are destroyed. So don't get attached. πLDABβ anINTEGER. The leading dimension of the array AB.LDAB >= KA+1. You gotta. π₯BBβ aREALarray, dimension(LDBB, N). On entry, the upper or lower triangle of the symmetric 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 array BB as follows: ifUPLO = 'U', thenBB(ka+1+i-j,j) = B(i,j)formax(1,j-kb)<=i<=j; ifUPLO = 'L', thenBB(1+i-j,j) = B(i,j)forj<=i<=min(n,j+kb). On exit, the factor S from the split Cholesky factorizationB = S**T*S, as returned bySPBSTF. πLDBBβ anINTEGER. The leading dimension of the array BB.LDBB >= KB+1. Yes bestie. πΈWβ aREALarray, dimension(N). IfINFO = 0, the eigenvalues in ascending order. Gorgeous. πZβ aREALarray, dimension(LDZ, N). IfJOBZ = 'V', then ifINFO = 0, Z contains the matrix Z of eigenvectors, with the i-th column of Z holding the eigenvector associated withW(i). The eigenvectors are normalized soZ**T*B*Z = I. IfJOBZ = 'N', then Z is not referenced. Not even a little. π¦LDZβ anINTEGER. The leading dimension of the array Z.LDZ >= 1, and ifJOBZ = 'V', thenLDZ >= max(1,N). Standard. πWORKβ aREALarray, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. Workspace queen. πLWORKβ anINTEGER. The dimension of the array WORK. IfN <= 1, thenLWORK >= 1. IfJOBZ = 'N'andN > 1, thenLWORK >= 3*N. IfJOBZ = 'V'andN > 1, thenLWORK >= 1 + 5*N + 2*N**2. IfLWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of the WORK and IWORK arrays, returns these values as the first entries of the WORK and IWORK arrays, and no error message related to LWORK or LIWORK is issued by XERBLA. Same drill. π₯IWORKβ anINTEGERarray, dimension(MAX(1,LIWORK)). On exit, ifLIWORK > 0,IWORK(1)returns the optimalLIWORK. πLIWORKβ anINTEGER. The dimension of the array IWORK. IfJOBZ = 'N'orN <= 1, thenLIWORK >= 1. IfJOBZ = 'V'andN > 1, thenLIWORK >= 3 + 5*N. IfLIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of the WORK and IWORK arrays, returns these values as the first entries of the WORK and IWORK arrays, and no error message related to LWORK or LIWORK is issued by XERBLA. You know the vibe. β¨INFOβ anINTEGER.= 0: successful exit, we cheer.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, and i is:<= N: the algorithm failed to converge β i off-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= N, thenSPBSTFreturnedINFO = i: B is not positive definite. The factorization of B could not be completed and no eigenvalues or eigenvectors were computed. Tragic. π
π 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 219 of file ssbgvd.f.
subroutine zhbgvd (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, integer lwork, double precision,
dimension( * ) rwork, integer lrwork, integer, dimension( * ) iwork,
integer liwork, integer info)
ZHBGVD
π― Purpose π―
Ok so ZHBGVD is literally that girl π
β she 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. If eigenvectors are desired, she uses a divide and conquer algorithm. No cap, sheβs iconic. β¨
π οΈ Parameters π οΈ
JOBZβ isCHARACTER*1= 'N':Compute eigenvalues only;= 'V':Compute eigenvalues and eigenvectors.
UPLOβ isCHARACTER*1= 'U':Upper triangles of A and B are stored;= 'L':Lower triangles of A and B are stored.
Nβ isINTEGER- The order of the matrices A and B.
N >= 0.
- The order of the matrices A and B.
KAβ isINTEGER- The number of superdiagonals of the matrix A if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KA >= 0.
- The number of superdiagonals of the matrix A if
KBβ isINTEGER- The number of superdiagonals of the matrix B if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KB >= 0.
- The number of superdiagonals of the matrix B if
ABβ isCOMPLEX*16array, dimension(LDAB, N)- On entry, the upper or lower triangle of the Hermitian band matrix A, stored in the first
ka+1rows of the array. The j-th column of A is stored in the j-th column of the array AB as 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.
- On entry, the upper or lower triangle of the Hermitian band matrix A, stored in the first
LDABβ isINTEGER- The leading dimension of the array AB.
LDAB >= KA+1.
- The leading dimension of the array AB.
BBβ isCOMPLEX*16array, dimension(LDBB, N)- On entry, the upper or lower triangle of the Hermitian band matrix B, stored in the first
kb+1rows of the array. The j-th column of B is stored in the j-th column of the array BB as 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).
- if
- On exit, the factor S from the split Cholesky factorization
B = S**H*S, as returned byZPBSTF.
- On entry, the upper or lower triangle of the Hermitian band matrix B, stored in the first
LDBBβ isINTEGER- The leading dimension of the array BB.
LDBB >= KB+1.
- The leading dimension of the array BB.
Wβ isDOUBLE PRECISIONarray, dimension(N)- If
INFO = 0, the eigenvalues in ascending order.
- If
Zβ isCOMPLEX*16array, dimension(LDZ, N)- If
JOBZ = 'V', then ifINFO = 0, Z contains 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. - If
JOBZ = 'N', then Z is not referenced.
- If
LDZβ isINTEGER- The leading dimension of the array Z.
LDZ >= 1, and ifJOBZ = 'V',LDZ >= N.
- The leading dimension of the array Z.
WORKβ isCOMPLEX*16array, dimension(MAX(1,LWORK))- On exit, if
INFO=0,WORK(1)returns the optimalLWORK.
- On exit, if
LWORKβ isINTEGER- The dimension of the array WORK.
- If
N <= 1,LWORK >= 1. - If
JOBZ = 'N'andN > 1,LWORK >= N. - If
JOBZ = 'V'andN > 1,LWORK >= 2*N**2. - If
LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of the WORK, RWORK and IWORK arrays, returns these values as the first entries of the WORK, RWORK and IWORK arrays, and no error message related to LWORK or LRWORK or LIWORK is issued by XERBLA.
RWORKβ isDOUBLE PRECISIONarray, dimension(MAX(1,LRWORK))- On exit, if
INFO=0,RWORK(1)returns the optimalLRWORK.
- On exit, if
LRWORKβ isINTEGER- The dimension of array RWORK.
- 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 optimal sizes of the WORK, RWORK and IWORK arrays, returns these values as the first entries of the WORK, RWORK and IWORK arrays, and no error message related to LWORK or LRWORK or LIWORK is issued by XERBLA.
IWORKβ isINTEGERarray, dimension(MAX(1,LIWORK))- On exit, if
INFO=0,IWORK(1)returns the optimalLIWORK.
- On exit, if
LIWORKβ isINTEGER- The dimension of array IWORK.
- 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 optimal sizes of the WORK, RWORK and IWORK arrays, returns these values as the first entries of the WORK, RWORK and IWORK arrays, and no error message related to LWORK or LRWORK or LIWORK is issued by XERBLA.
INFOβ isINTEGER= 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: i off-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N:ifINFO = N + i, for1 <= i <= N, thenZPBSTFreturnedINFO = 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 243 of file zhbgvd.f.
Author: Generated automatically by Doxygen for LAPACK from the source code.
And thatβs the tea, bestie! π«Ά This iconic page was served to you by LAPACK Version 3.12.0, also known as hbgvd(3) in the footer. Now go out there and slay those Hermitian banded eigenvalues like the main character you are. ππβ¨
π¦ 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