ZHBEVD(3)
๐ NAME ๐
okay bestie, this page is literally the file path for zhbevd.f(3) in the Library Functions Manual ๐ซถ:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zhbevd.f
โจ SYNOPSIS โจ
Functions/Subroutines
subroutine ZHBEVD (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info)โ ZHBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices.
subroutine ZHBEVD (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, lwork,
rwork, lrwork, iwork, liwork, info)
๐ฆ Function/Subroutine Documentation ๐ฆ
subroutine ZHBEVD (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, integer lwork, double precision,
dimension( * ) rwork, integer lrwork, integer, dimension( * ) iwork,
integer liwork, integer info)
ZHBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices. Thatโs the whole vibe of this icon, periodt ๐ .
Purpose
okay so bestie, hereโs the tea: ZHBEVD 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 the purpose, no cap โจ.
Parameters
JOBZ
JOBZ is CHARACTER*1 โ the โwhat do you actually wantโ switch:
= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
UPLO
UPLO is CHARACTER*1 โ it tells you which triangle of A is stored:
= '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*16 array, dimension (LDAB, N).
On entry, the upper or lower triangle of the Hermitian band matrix A is 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. Sheโs busy and sheโs overwriting, bestie ๐ญ.
LDAB
LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KD + 1. ๐ธ
W
W is DOUBLE PRECISION array, dimension (N).
If INFO = 0, the eigenvalues in ascending order. Cute and sorted ๐
.
Z
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. Sheโs literally not invited to the function, no hard feelings ๐ซถ.
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*16 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 least 1. - 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 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. Itโs giving โjust asking, not committingโ energy ๐.
RWORK
RWORK is DOUBLE PRECISION 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 least 1. - 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 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. Same workspace-query vibe, different array ๐.
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 least 1. - 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 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. The workspace-query trio really said โwe are oneโ ๐.
INFO
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 if INFO > 0, itโs not a cute little glitch โ the algorithm failed to converge, bestie ๐ญ.
Author ๐
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 207 of file zhbevd.f. ๐
Author (Doxygen-generated note) ๐ซถ
Generated automatically by Doxygen for LAPACK from the source code.
xoxo, LAPACK Version 3.12.0 โ /home/abui...RC/zhbevd.f(3) ๐ซถโจ (the footer didnโt give a date, so no invented date, bestie ๐)
๐ฆ 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