/home/abui...RC/zhbev.f(3)
π NAME
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zhbev.f β bestie, that's the file. That's the whole name. It's a long one, I know, but we move π
β¨ SYNOPSIS β¨
Functions/Subroutines π
subroutine ZHBEV (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, rwork, info)β okay so this is the moment: ZHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices</p> β¨
π¦ Function/Subroutine Documentation π¦
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)
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.
!>
Lowkey that's it, that's the whole vibe: all the eigenvalues, and if you ask nicely, the eigenvectors too, off a complex Hermitian band matrix A. Iconic π
π Parameters π
JOBZβJOBZisCHARACTER*1, and it's giving "what do you actually want from me":
!> JOBZ is CHARACTER*1
!> = 'N': Compute eigenvalues only;
!> = 'V': Compute eigenvalues and eigenvectors.
!>
UPLOβUPLOisCHARACTER*1, picking which triangle of A we're storing, no cap:
!> UPLO is CHARACTER*1
!> = 'U': Upper triangle of A is stored;
!> = 'L': Lower triangle of A is stored.
!>
NβNisINTEGER, the order of the matrix A.N >= 0. Main character number fr fr π«Ά
!> N is INTEGER
!> The order of the matrix A. N >= 0.
!>
KDβKDisINTEGER: the number of superdiagonals of the matrix A ifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0. β¨
!> KD is INTEGER
!> The number of superdiagonals of the matrix A if UPLO = 'U',
!> or the number of subdiagonals if UPLO = 'L'. KD >= 0.
!>
ABβABisCOMPLEX*16array, dimension(LDAB, N). Bestie, this one's a whole saga, so buckle up:
On entry, it's 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 lives in the j-th column of the array AB like this:
!> AB is COMPLEX*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 gets overwritten by values generated during the reduction to tridiagonal form π so don't come looking for your original matrix in there. 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:
!> 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 array AB.LDAB >= KD + 1. Periodt.
!> LDAB is INTEGER
!> The leading dimension of the array AB. LDAB >= KD + 1.
!>
WβWisDOUBLE PRECISIONarray, dimension(N). IfINFO = 0, the eigenvalues in ascending order π (sorted, bestie, we love an organized queen).
!> W is DOUBLE PRECISION array, dimension (N)
!> If INFO = 0, the eigenvalues in ascending order.
!>
ZβZisCOMPLEX*16array, dimension(LDZ, N). IfJOBZ = 'V', then ifINFO = 0, Z contains the orthonormal eigenvectors of the matrix A, with the i-th column of Z holding the eigenvector associated withW(i)π IfJOBZ = 'N', then Z is not referenced β she's simply not invited to the function π
!> Z is COMPLEX*16 array, dimension (LDZ, N)
!> If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal
!> eigenvectors of the matrix A, with the i-th column of Z
!> holding the eigenvector associated with W(i).
!> If JOBZ = 'N', then Z is not referenced.
!>
LDZβLDZisINTEGER, the leading dimension of the array Z.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N). Read it and weep π
!> LDZ is INTEGER
!> The leading dimension of the array Z. LDZ >= 1, and if
!> JOBZ = 'V', LDZ >= max(1,N).
!>
WORKβWORKisCOMPLEX*16array, dimension(N). That's the whole line. She's mysterious. She's a scratch array. Respect her privacy π
!> WORK is COMPLEX*16 array, dimension (N)
!>
RWORKβRWORKisDOUBLE PRECISIONarray, dimension(max(1,3*N-2)). Note the3*N-2, bestie, write it down βοΈ
!> RWORK is DOUBLE PRECISION array, dimension (max(1,3*N-2))
!>
INFOβINFOisINTEGER, the vibe check at the end:
!> INFO is INTEGER
!> = 0: successful exit.
!> < 0: if INFO = -i, the i-th argument had an illegal value.
!> > 0: if INFO = i, the algorithm failed to converge; i
!> off-diagonal elements of an intermediate tridiagonal
!> form did not converge to zero.
!>
So 0 is slay β
, < 0 means argument number i was illegal (blame your own inputs, not her π), and > 0 means the algorithm failed to converge β specifically, i off-diagonal elements of an intermediate tridiagonal form did not converge to zero. Not a cute look, but now you know π
π§ Author π§
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β Definition β
Definition at line 150 of file zhbev.f.
π Author (the meta one) π
Generated automatically by Doxygen for LAPACK from the source code π (yes, a robot wrote the docs, she's doing her best).
Sign-off bestie π β this wasLAPACK, Version 3.12.0, and it's the page for/home/abui...RC/zhbev.f(3). Go get those eigenvalues, queen πβ¨π¦
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms