CHBEVD(3)
π NAME π
okay so bestie, this whole page is about the file /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/chbevd.f β thatβs the literal path, not a command, and yes itβs giving very βI live in a build directoryβ energy. π
Weβre in the Library Functions Manual, on the chbevd.f(3) page, and itβs all about CHBEVD, the LAPACK subroutine that computes eigenvalues and, if you want them, eigenvectors for OTHER matrices. Slay.
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine CHBEVD (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, lwork,
rwork, lrwork, iwork, liwork, info)
CHBEVD computes the eigenvalues and, optionally, the left and/or
right eigenvectors for OTHER matrices
π¦ Function/Subroutine Documentation π¦
Hereβs the full signature, bestie β every type, every dimension, no skips:
subroutine CHBEVD (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, integer lwork, real, dimension( * ) rwork, integer lrwork,
integer, dimension( * ) iwork, integer liwork, integer info)
CHBEVD computes the eigenvalues and, optionally, the left and/or right
eigenvectors for OTHER matrices
π Purpose π
So the actual purpose, no cap:
CHBEVD computes all the eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm.
Thatβs literally the whole vibe. π
π Parameters π
π JOBZ
JOBZ is CHARACTER*1
= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
π UPLO
UPLO is CHARACTER*1
= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
π N
N is INTEGER
The order of the matrix A. N >= 0.
π KD
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
AB is COMPLEX 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
LDAB is INTEGER
The leading dimension of the array AB. LDAB >= KD + 1.
π W
W is REAL array, dimension (N)
If INFO = 0, the eigenvalues in ascending order.
π Z
Z is COMPLEX 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
LDZ is INTEGER
The leading dimension of the array Z. LDZ >= 1, and if JOBZ = 'V', LDZ >= max(1,N).
π WORK
WORK is COMPLEX array, dimension (MAX(1,LWORK))
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
π LWORK
LWORK is INTEGER
The dimension of the array WORK.
- If
N <= 1,LWORKmust be at least1. - If
JOBZ = 'N'andN > 1,LWORKmust be at leastN. - If
JOBZ = 'V'andN > 1,LWORKmust be at least2*N**2. - If
LWORK = -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 by XERBLA.
bestie, that workspace-query mode is real: set LWORK = -1 and itβs just sizing things up, not doing the whole computation vibe. π
π RWORK
RWORK is REAL array, dimension (LRWORK)
On exit, if INFO = 0, RWORK(1) returns the optimal LRWORK.
π LRWORK
LRWORK is INTEGER
The dimension of array RWORK.
- If
N <= 1,LRWORKmust be at least1. - If
JOBZ = 'N'andN > 1,LRWORKmust be at leastN. - If
JOBZ = 'V'andN > 1,LRWORKmust be at least1 + 5*N + 2*N**2. - If
LRWORK = -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 by XERBLA.
π IWORK
IWORK is INTEGER array, dimension (MAX(1,LIWORK))
On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK.
π LIWORK
LIWORK is INTEGER
The dimension of array IWORK.
- If
JOBZ = 'N'orN <= 1,LIWORKmust be at least1. - If
JOBZ = 'V'andN > 1,LIWORKmust be at least3 + 5*N. - If
LIWORK = -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 by XERBLA.
π INFO
INFO is 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.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 207 of file chbevd.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole page π the footer info was giving LAPACK β Version 3.12.0 β with /home/abui...RC/chbevd.f(3) at the end. Mwah, slay, periodt. π
π¦ 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