SSBEVD(3)
π NAME π
ok so bestie, this page is literally about ssbevd.f β and the full glow-up path is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ssbevd.f
and it lives in the Library Functions Manual, which is giving very much "reference section, but make it fashion" π
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines π¦
subroutine SSBEVD (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, lwork,
iwork, liwork, info)
SSBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
π Function/Subroutine Documentation π
subroutine SSBEVD (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 lwork, integer, dimension( * ) iwork, integer liwork, integer
info)
SSBEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices π
πΈ Purpose πΈ
ok so here's the vibe: SSBEVD computes all the eigenvalues and, optionally, the eigenvectors of a real symmetric band matrix A. And if you want eigenvectors? it pulls out the divide and conquer algorithm β fancy, iconic, lowkey the main character of eigensolvers β¨
π Parameters π
π JOBZ
JOBZ is CHARACTER*1
= 'N': compute eigenvalues only= 'V': compute eigenvalues and eigenvectors
π UPLO
UPLO is CHARACTER*1
= 'U': upper triangle ofAis stored= 'L': lower triangle ofAis 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. no cap.
π AB
AB is REAL array, dimension (LDAB, N)
on entry, the upper or lower triangle of the symmetric 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. deadass, your input is gone. 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. periodt.
π W
W is REAL array, dimension (N)
if INFO = 0, the eigenvalues in ascending order. cute, sorted, organized π
π Z
Z is REAL 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 β it's just there, existing, unbothered π
π LDZ
LDZ is INTEGER
the leading dimension of the array Z. LDZ >= 1, and if JOBZ = 'V', LDZ >= max(1,N).
π WORK
WORK is REAL array, dimension (LWORK)
on exit, if INFO = 0, WORK(1) returns the optimal LWORK. iykyk, first slot is the receipts β¨
π LWORK
LWORK is INTEGER
the dimension of the array WORK. here's the tea:
- if
N <= 1,LWORKmust be at least1 - if
JOBZ = 'N'andN > 2,LWORKmust be at least2*N - if
JOBZ = 'V'andN > 2,LWORKmust be at least( 1 + 5*N + 2*N**2 )
if LWORK = -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. it's giving "just asking, not committing" π
π 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 the array IWORK.
- if
JOBZ = 'N'orN <= 1,LIWORKmust be at least1 - if
JOBZ = 'V'andN > 2,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 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 as the LWORK = -1 situation, fr fr π§
π 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 185 of file ssbevd.f.
π¦ Author π¦
Generated automatically by Doxygen for LAPACK from the source code. not a human, just a very diligent little robot π§ββοΈ
so that's the whole page bestie β brought to you by LAPACK, Version 3.12.0, and yeah the footer path is literally /home/abui...RC/ssbevd.f(3) because apparently we're abbreviating the directory like it owes us money π slay, go compute some eigenvalues πβ¨π
π¦ 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