SRC/ssbgst.f(3)
β¨ NAME β¨
Okay bestie, welcome to SRC/ssbgst.f(3) β this is the SRC/ssbgst.f page from the Library Functions Manual, and it's 100% about the ssbgst subroutine. It's giving LAPACK, it's giving banded matrices, it's giving βwe're reducing a generalized eigenproblem and looking cute doing it.β π
πΈ SYNOPSIS πΈ
π Functions/Subroutines π
subroutine ssbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx,
work, info)
SSBGST
π₯ Function/Subroutine Documentation π₯
π§ subroutine ssbgst π§
subroutine ssbgst (character vect, character uplo, integer n, integer ka,
integer kb, real, dimension( ldab, * ) ab, integer ldab, real,
dimension( ldbb, * ) bb, integer ldbb, real, dimension( ldx, * ) x,
integer ldx, real, dimension( * ) work, integer info)
SSBGST
π¦ Purpose π¦
So here's the tea: SSBGST reduces a real symmetric-definite banded generalized eigenproblem A*x = lambda*B*x to standard form C*y = lambda*y, and it makes sure C has the same bandwidth as A. Slay.
B must have been factorized already as S**T*S by SPBSTF, using a split Cholesky factorization. Then A is overwritten by C = X**T*A*X, where X = S**(-1)*Q, and Q is an orthogonal matrix chosen to preserve the bandwidth of A. Iconic, honestly. Periodt. π
π Parameters π
VECTβCHARACTER*1. This one decides whether we form the transformation matrixX, bestie:= 'N': do not form the transformation matrixX;= 'V': formX.
UPLOβCHARACTER*1. Triangle storage reveal:= 'U': Upper triangle ofAis stored;= 'L': Lower triangle ofAis stored.
NβINTEGER. The order of the matricesAandB.N >= 0.KAβINTEGER. The number of superdiagonals of the matrixAifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KA >= 0.KBβINTEGER. The number of superdiagonals of the matrixBifUPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KA >= KB >= 0.ABβREAL array, dimension (LDAB,N). On entry, this holds the upper or lower triangle of the symmetric band matrixA, stored in the firstka+1rows of the array. The j-th column ofAis stored in the j-th column of the arrayABas 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, it holds the transformed matrix X**T*A*X, stored in the same format as A.
LDABβINTEGER. The leading dimension of the arrayAB.LDAB >= KA+1.BBβREAL array, dimension (LDBB,N). The banded factorSfrom the split Cholesky factorization ofB, as returned bySPBSTF, stored in the firstKB+1rows of the array.LDBBβINTEGER. The leading dimension of the arrayBB.LDBB >= KB+1.XβREAL array, dimension (LDX,N). IfVECT = 'V', the n-by-n matrixX. IfVECT = 'N', the arrayXis not referenced.LDXβINTEGER. The leading dimension of the arrayX.LDX >= max(1,N)ifVECT = 'V';LDX >= 1otherwise.WORKβREAL array, dimension (2*N).INFOβINTEGER. Exit status tea:= 0: successful exit< 0: ifINFO = -i, the i-th argument had an illegal value.
π Author β the humans π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 157 of file ssbgst.f.
π€ Author β the generator π€
Generated automatically by Doxygen for LAPACK from the source code.
π Sign-off time, bestie: this page is from SRC/ssbgst.f(3), and the footer wraps with LAPACK Version 3.12.0 β no date line on this one, just vibes. Mwah! πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms