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 matrix X, bestie:
    • = 'N': do not form the transformation matrix X;
    • = 'V': form X.
  • UPLO β€” CHARACTER*1. Triangle storage reveal:
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” INTEGER. The order of the matrices A and B. N >= 0.
  • KA β€” INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KA >= 0.
  • KB β€” INTEGER. The number of superdiagonals of the matrix B if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KA >= KB >= 0.
  • AB β€” REAL array, dimension (LDAB,N). On entry, this holds the upper or lower triangle of the symmetric band matrix A, stored in the first ka+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(ka+1+i-j,j) = A(i,j) for max(1,j-ka)<=i<=j;
    • if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+ka).

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 array AB. LDAB >= KA+1.
  • BB β€” REAL array, dimension (LDBB,N). The banded factor S from the split Cholesky factorization of B, as returned by SPBSTF, stored in the first KB+1 rows of the array.
  • LDBB β€” INTEGER. The leading dimension of the array BB. LDBB >= KB+1.
  • X β€” REAL array, dimension (LDX,N). If VECT = 'V', the n-by-n matrix X. If VECT = 'N', the array X is not referenced.
  • LDX β€” INTEGER. The leading dimension of the array X. LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise.
  • WORK β€” REAL array, dimension (2*N).
  • INFO β€” INTEGER. Exit status tea:
    • = 0: successful exit
    • < 0: if INFO = -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