hbev(3)
okay so bestie, this is page hbev(3) from the Library Functions Manual, and it's basically the group chat of LAPACK band-matrix eigenvalue routines β four of them, all doing the same iconic thing for different dtypes. Grab a snack, we're going in π
π¦ NAME π¦
hbev β {hb,sb}ev: eig, QR iteration
Like, that's the whole name. Short. Cute. Load-bearing.
β¨ SYNOPSIS β¨
π« Functions
Four subroutines, one job:
chbevβ CHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine chbev (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, rwork, info)
dsbevβ DSBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine dsbev (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, info)
ssbevβ SSBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine ssbev (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, info)
zhbevβ ZHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine zhbev (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, rwork, info)
π DETAILED DESCRIPTION π
So the Detailed Description heading is right there and then it justβ¦ doesn't say anything?? It goes straight into Function Documentation. It's giving "intro slide with no speaker notes" ngl. The actual tea is all in the per-function sections below, so let's go π«Ά
π FUNCTION DOCUMENTATION π
πΈ subroutine chbev
subroutine chbev (character jobz, character uplo, integer n, integer kd,
complex, dimension( ldab, * ) ab, integer ldab, real, dimension( * ) w,
complex, dimension( ldz, * ) z, integer ldz, complex, dimension( * )
work, real, dimension( * ) rwork, integer info)
CHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
π Purpose
CHBEV computes all the eigenvalues and, optionally, the eigenvectors of a complex Hermitian band matrix A. That's it, that's the whole vibe β¨
π Parameters
JOBZβJOBZisCHARACTER*1= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
UPLOβUPLOisCHARACTER*1= 'U': Upper triangle ofAis stored;= 'L': Lower triangle ofAis stored.
NβNisINTEGER. The order of the matrixA.N >= 0.KDβKDisINTEGER. The number of superdiagonals of the matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.ABβABisCOMPLEXarray, dimension(LDAB, N). On entry, the upper or lower triangle of the Hermitian band matrixA, stored in the firstKD+1rows of the array. The j-th column ofAis stored in the j-th column of the arrayABas follows:- if
UPLO = 'U',AB(kd+1+i-j,j) = A(i,j)formax(1,j-kd)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+kd).
- if
On exit, AB is overwritten by values generated during the reduction to tridiagonal form. If UPLO = 'U', the first superdiagonal and the diagonal of the tridiagonal matrix T are returned in rows KD and KD+1 of AB, and if UPLO = 'L', the diagonal and first subdiagonal of T are returned in the first two rows of AB. (yes bestie, your input gets clobbered β that's the deal π« )
LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= KD + 1.WβWisREALarray, dimension(N). IfINFO = 0, the eigenvalues in ascending order.ZβZisCOMPLEXarray, dimension(LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the orthonormal eigenvectors of the matrixA, with the i-th column ofZholding the eigenvector associated withW(i). IfJOBZ = 'N', thenZis not referenced. (so don't even worry about it β¨)LDZβLDZisINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβWORKisCOMPLEXarray, dimension(N).RWORKβRWORKisREALarray, dimension(max(1,3*N-2)).INFOβINFOisINTEGER= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, the algorithm failed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero. (rip, the iteration ghosted you π)
π§ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 150 of file chbev.f.
π subroutine dsbev
subroutine dsbev (character jobz, character uplo, integer n, integer kd,
double precision, dimension( ldab, * ) ab, integer ldab, double
precision, dimension( * ) w, double precision, dimension( ldz, * ) z,
integer ldz, double precision, dimension( * ) work, integer info)
DSBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
π Purpose
DSBEV computes all the eigenvalues and, optionally, the eigenvectors of a real symmetric band matrix A. Same energy, double precision, no complex numbers invited π
π Parameters
JOBZβJOBZisCHARACTER*1= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
UPLOβUPLOisCHARACTER*1= 'U': Upper triangle ofAis stored;= 'L': Lower triangle ofAis stored.
NβNisINTEGER. The order of the matrixA.N >= 0.KDβKDisINTEGER. The number of superdiagonals of the matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.ABβABisDOUBLE PRECISIONarray, dimension(LDAB, N). On entry, the upper or lower triangle of the symmetric band matrixA, stored in the firstKD+1rows of the array. The j-th column ofAis stored in the j-th column of the arrayABas follows:- if
UPLO = 'U',AB(kd+1+i-j,j) = A(i,j)formax(1,j-kd)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+kd).
- if
On exit, AB is overwritten by values generated during the reduction to tridiagonal form. If UPLO = 'U', the first superdiagonal and the diagonal of the tridiagonal matrix T are returned in rows KD and KD+1 of AB, and if UPLO = 'L', the diagonal and first subdiagonal of T are returned in the first two rows of AB.
LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= KD + 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 orthonormal eigenvectors of the matrixA, with the i-th column ofZholding the eigenvector associated withW(i). IfJOBZ = 'N', thenZis not referenced.LDZβLDZisINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβWORKisDOUBLE PRECISIONarray, dimension(max(1,3*N-2)). (note: no separateRWORKhere bestie, she does it all in one π«Ά)INFOβINFOisINTEGER= 0: successful exit< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i, the algorithm failed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero.
π§ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 144 of file dsbev.f.
π¦ subroutine ssbev
subroutine ssbev (character jobz, character uplo, integer n, integer kd,
real, dimension( ldab, * ) ab, integer ldab, real, dimension( * ) w,
real, dimension( ldz, * ) z, integer ldz, real, dimension( * ) work,
integer info)
SSBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
π Purpose
SSBEV computes all the eigenvalues and, optionally, the eigenvectors of a real symmetric band matrix A. Single precision twin of dsbev, same slay, smaller floats β¨
π Parameters
JOBZβJOBZisCHARACTER*1= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
UPLOβUPLOisCHARACTER*1= 'U': Upper triangle ofAis stored;= 'L': Lower triangle ofAis stored.
NβNisINTEGER. The order of the matrixA.N >= 0.KDβKDisINTEGER. The number of superdiagonals of the matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.ABβABisREALarray, dimension(LDAB, N). On entry, the upper or lower triangle of the symmetric band matrixA, stored in the firstKD+1rows of the array. The j-th column ofAis stored in the j-th column of the arrayABas follows:- if
UPLO = 'U',AB(kd+1+i-j,j) = A(i,j)formax(1,j-kd)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+kd).
- if
On exit, AB is overwritten by values generated during the reduction to tridiagonal form. If UPLO = 'U', the first superdiagonal and the diagonal of the tridiagonal matrix T are returned in rows KD and KD+1 of AB, and if UPLO = 'L', the diagonal and first subdiagonal of T are returned in the first two rows of AB.
LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= KD + 1.WβWisREALarray, dimension(N). IfINFO = 0, the eigenvalues in ascending order.Zβ and bestie this is exactly where part 1 hands the aux cable over π§ part 2 picks it up right here, no cap.
okay bestie, weβre picking right back up inside ssbevβs parameter list β no recap, no fluff, just the rest of the receipts:
ZβREAL array, dimension (LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the orthonormal eigenvectors of the matrixA, with the i-th column ofZholding the eigenvector associated withW(i). IfJOBZ = 'N', thenZis not referenced.LDZβINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβREAL array, dimension (max(1,3*N-2)).INFOβINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, the algorithm failed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero.
Thatβs ssbev wrapped, and the author credit is giving institutional excellence:
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 144 of file ssbev.f.
π¦ zhbev β complex Hermitian band matrix, but make it eigenvalues π¦
subroutine zhbev (character jobz, character uplo, integer n, integer kd,
complex*16, dimension( ldab, * ) ab, integer ldab, double precision,
dimension( * ) w, complex*16, dimension( ldz, * ) z, integer ldz,
complex*16, dimension( * ) work, double precision, dimension( * ) rwork,
integer info)
Brief description, exactly as the source says it: ZHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices.
π Purpose π
ZHBEV computes all the eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix A.
π Parameters π
JOBZβJOBZisCHARACTER*1.= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors.UPLOβUPLOisCHARACTER*1.= 'U': upper triangle ofAis stored;= 'L': lower triangle ofAis stored.NβNisINTEGER. The order of the matrixA.N >= 0.KDβKDisINTEGER. The number of superdiagonals of the matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.ABβABisCOMPLEX*16 array, dimension (LDAB, N).
On entry, the upper or lower triangle of the Hermitian band matrix A, stored in the first KD+1 rows 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(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).
On exit, AB is overwritten by values generated during the reduction to tridiagonal form. If UPLO = 'U', the first superdiagonal and the diagonal of the tridiagonal matrix T are returned in rows KD and KD+1 of AB, and if UPLO = 'L', the diagonal and first subdiagonal of T are returned in the first two rows of AB.
LDABβLDABisINTEGER. The leading dimension of the arrayAB.LDAB >= KD + 1.WβWisDOUBLE PRECISION array, dimension (N). IfINFO = 0, the eigenvalues in ascending order.ZβZisCOMPLEX*16 array, dimension (LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the orthonormal eigenvectors of the matrixA, with the i-th column ofZholding the eigenvector associated withW(i). IfJOBZ = 'N', thenZis not referenced.LDZβLDZisINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβWORKisCOMPLEX*16 array, dimension (N).RWORKβRWORKisDOUBLE PRECISION array, dimension (max(1,3*N-2)).INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, the algorithm failed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 150 of file zhbev.f.
π« Author (the generated-by one) π«
Generated automatically by Doxygen for LAPACK from the source code.
Source/version check, bestie: this is LAPACK Version 3.12.0, page hbev(3). The footer doesnβt hand us a date, so no fake date is coming through β just pure manual-page realness π
π«Άβ¨
π¦ 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