/home/abui...RC/ssbgv.f(3)
π SSBGV β ssbgv.f
okay bestie, so this page is from the LAPACK Library Functions Manual, and the file it's documenting is literally:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ssbgv.f
no cap, that's the whole path. it's giving deep in the build tree energy π«Ά
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ssbgv.f β that's it, that's the name, the manpage literally just names the source file π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine SSBGV (jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz,
work, info)
SSBGV π
π¦ Function/Subroutine Documentation π¦
subroutine SSBGV (character jobz, character uplo, integer n, integer ka,
integer kb, real, dimension( ldab, * ) ab, integer ldab, real,
dimension( ldbb, * ) bb, integer ldbb, real, dimension( * ) w, real,
dimension( ldz, * ) z, integer ldz, real, dimension( * ) work, integer
info)
SSBGV π« (yes, again β the page says it twice, so we say it twice, periodt)
π Purpose π
!>!> SSBGV computes all the eigenvalues, and optionally, the eigenvectors!> of a real generalized symmetric-definite banded eigenproblem, of!> the form A*x=(lambda)*B*x. Here A and B are assumed to be symmetric!> and banded, and B is also positive definite.!>
so like, tl;dr: it hunts down all the eigenvalues (and the eigenvectors too if you ask nicely π₯Ί) of a real generalized symmetric-definite banded eigenproblem. the form is A*x=(lambda)*B*x. A and B are assumed symmetric and banded, and B has to be positive definite β that part is non-negotiable, bestie. π¨
π Parameters π
JOBZβJOBZ is CHARACTER*1= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
so like, eigenvalues only? 'N'. the whole package deal, vectors included? 'V'. choose your fighter π
UPLOβUPLO is CHARACTER*1= 'U': Upper triangles of A and B are stored;= 'L': Lower triangles of A and B are stored.
which triangle are we storing, bestie? upper or lower, pick one π
NβN is INTEGER- The order of the matrices A and B.
N >= 0.
- The order of the matrices A and B.
(and yes, zero is allowed, >= is not a suggestion π)
KAβKA is INTEGER- The number of superdiagonals of the matrix A if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KA >= 0.
- The number of superdiagonals of the matrix A if
KBβKB is INTEGER- The number of superdiagonals of the matrix B if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KB >= 0.
- The number of superdiagonals of the matrix B if
KA is for A, KB is for B. iconic symmetry, we love to see it β¨
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
ka+1rows 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(ka+1+i-j,j) = A(i,j)formax(1,j-ka)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+ka).
- if
- > On exit, the contents of AB are destroyed. π literally gone. don't come crying to me, she's been through enough.
- On entry, the upper or lower triangle of the symmetric band matrix A, stored in the first
LDABβLDAB is INTEGER- The leading dimension of the array AB.
LDAB >= KA+1.
- The leading dimension of the array AB.
BBβBB is REAL array, dimension (LDBB, N)- On entry, the upper or lower triangle of the symmetric band matrix B, stored in the first
kb+1rows of the array. The j-th column of B is stored in the j-th column of the array BB as follows:- if
UPLO = 'U',BB(kb+1+i-j,j) = B(i,j)formax(1,j-kb)<=i<=j; - if
UPLO = 'L',BB(1+i-j,j) = B(i,j)forj<=i<=min(n,j+kb).
- if
- On exit, the factor S from the split Cholesky factorization
B = S**T*S, as returned bySPBSTF.
- On entry, the upper or lower triangle of the symmetric band matrix B, stored in the first
so BB gets redecorated on the way out π¨ it comes back holding S from that split Cholesky moment.
LDBBβLDBB is INTEGER- The leading dimension of the array BB.
LDBB >= KB+1.
- The leading dimension of the array BB.
WβW is REAL array, dimension (N)- If
INFO = 0, the eigenvalues in ascending order.
- If
ascending. sorted. 10/10 organized queen π
ZβZ is REAL array, dimension (LDZ, N)- If
JOBZ = 'V', then ifINFO = 0, Z contains the matrix Z of eigenvectors, with the i-th column of Z holding the eigenvector associated withW(i). The eigenvectors are normalized so thatZ**T*B*Z = I. - If
JOBZ = 'N, then Z is not referenced.
- If
not even looked at. Z is off living her best life, unbothered π
LDZβLDZ is INTEGER- The leading dimension of the array Z.
LDZ >= 1, and ifJOBZ = 'V',LDZ >= N.
- The leading dimension of the array Z.
WORKβWORK is REAL array, dimension (3*N)
that's 3*N bestie, not N, not 2*N, three whole N's of workspace π
INFOβINFO is INTEGER= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i, and i is:<= N: the algorithm failed to converge: i off-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= N, thenSPBSTFreturnedINFO = i: B is not positive definite. The factorization of B could not be completed and no eigenvalues or eigenvectors were computed.
fr fr read that last one carefully: if B isn't positive definite, the factorization of B could not be completed and no eigenvalues or eigenvectors were computed. nothing. nada. the whole thing just stops. π that's the vibe check failing, hard.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad contributed, we stan a collaborative effort π«Ά
Definition at line 175 of file ssbgv.f.
β Author β
Generated automatically by Doxygen for LAPACK from the source code. (not a human, a machine wrote this, and honestly? slay π€β¨)
and that's the page, bestie! π sign-off time: this whole thing is LAPACK, Version 3.12.0, documented at /home/abui...RC/ssbgv.f(3) ππ¦πΈ
π¦ 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