hbgst(3)

πŸ’– hbgst(3) πŸ’–

okay so this is from the Library Functions Manual and it's literally the banded generalized eigenproblem glow-up page β€” {hb,sb}gst: reduction to standard form, banded. bestie, this is the banded edition and it's kind of a lot, but we're gonna get through it together 🫢


✨ NAME ✨

hbgst β€” {hb,sb}gst: reduction to standard form, banded πŸ’…


🌸 SYNOPSIS 🌸

πŸŽ€ Functions πŸŽ€

subroutine chbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx,
    work, rwork, info)
    CHBGST
subroutine dsbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx,
    work, info)
    DSBGST
subroutine ssbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx,
    work, info)
    SSBGST
subroutine zhbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx,
    work, rwork, info)
    ZHBGST

like, four icons, one job ✨


πŸ’œ Detailed Description πŸ’œ

no cap, the details are all down in Function Documentation below β€” that's where the real main character energy lives πŸ‘‘


πŸŽ€ Function Documentation πŸŽ€


πŸ’… subroutine chbgst πŸ’…

subroutine chbgst (character vect, character uplo, integer n, integer ka,
    integer kb, complex, dimension( ldab, * ) ab, integer ldab, complex,
    dimension( ldbb, * ) bb, integer ldbb, complex, dimension( ldx, * ) x,
    integer ldx, complex, dimension( * ) work, real, dimension( * ) rwork,
    integer info)

CHBGST β€” the complex one, she's serving πŸ¦‹

🌟 Purpose 🌟

okay so check it: CHBGST reduces a complex Hermitian-definite banded generalized eigenproblem A*x = lambda*B*x to standard form C*y = lambda*y, such that C has the same bandwidth as A. slay, bandwidth preserved, no notes πŸ’…

B must have been previously factorized as S**H*S by CPBSTF, using a split Cholesky factorization. A is overwritten by C = X**H*A*X, where X = S**(-1)*Q and Q is a unitary matrix chosen to preserve the bandwidth of A. iconic behavior fr fr ✨

🌈 Parameters 🌈

  • VECT β€” VECT is CHARACTER*1. = 'N': do not form the transformation matrix X; = 'V': form X. pick your vibe πŸŽ€
  • UPLO β€” UPLO is CHARACTER*1. = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. bestie, you gotta tell her which triangle 😭
  • N β€” N is INTEGER. The order of the matrices A and B. N >= 0. periodt.
  • KA β€” KA is INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KA >= 0.
  • KB β€” KB is INTEGER. The number of superdiagonals of the matrix B if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KA >= KB >= 0. yes the constraint is real, respect it 🫢
  • AB β€” AB is COMPLEX array, dimension (LDAB,N). On entry, the upper or lower triangle of the Hermitian 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, the transformed matrix X**H*A*X, stored in the same format as A. she got a whole makeover and kept the same fit πŸ’–

  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KA+1.
  • BB β€” BB is COMPLEX array, dimension (LDBB,N). The banded factor S from the split Cholesky factorization of B, as returned by CPBSTF, stored in the first kb+1 rows of the array.
  • LDBB β€” LDBB is INTEGER. The leading dimension of the array BB. LDBB >= KB+1.
  • X β€” X is COMPLEX array, dimension (LDX,N). If VECT = 'V', the n-by-n matrix X. If VECT = 'N', the array X is not referenced. she's literally not invited to the function call 😭
  • LDX β€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise.
  • WORK β€” WORK is COMPLEX array, dimension (N).
  • RWORK β€” RWORK is REAL array, dimension (N).
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. we love a clean exit, we do NOT love a negative INFO 🫠

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the whole squad showed up for the credits 🫢✨

πŸ“ Definition πŸ“

Definition at line 163 of file chbgst.f.


πŸ¦‹ subroutine dsbgst πŸ¦‹

subroutine dsbgst (character vect, character uplo, integer n, integer ka,
    integer kb, double precision, dimension( ldab, * ) ab, integer ldab,
    double precision, dimension( ldbb, * ) bb, integer ldbb, double
    precision, dimension( ldx, * ) x, integer ldx, double precision,
    dimension( * ) work, integer info)

DSBGST β€” the double precision one, same energy, no RWORK needed πŸ’€

🌟 Purpose 🌟

okay so here's the deal: DSBGST reduces a real symmetric-definite banded generalized eigenproblem A*x = lambda*B*x to standard form C*y = lambda*y, such that C has the same bandwidth as A. yes, bandwidth stays, that's the whole point πŸŽ€

B must have been previously factorized as S**T*S by DPBSTF, using a split Cholesky factorization. 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. no cap, that's the transformation ✨

🌈 Parameters 🌈

  • VECT β€” VECT is CHARACTER*1. = 'N': do not form the transformation matrix X; = 'V': form X.
  • UPLO β€” UPLO is CHARACTER*1. = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored.
  • N β€” N is INTEGER. The order of the matrices A and B. N >= 0.
  • KA β€” KA is INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KA >= 0.
  • KB β€” KB is INTEGER. The number of superdiagonals of the matrix B if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KA >= KB >= 0.
  • AB β€” AB is DOUBLE PRECISION array, dimension (LDAB,N). On entry, 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, the transformed matrix X**T*A*X, stored in the same format as A. glow-up complete πŸ’…

  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KA+1.
  • BB β€” BB is DOUBLE PRECISION array, dimension (LDBB,N). The banded factor S from the split Cholesky factorization of B, as returned by DPBSTF, stored in the first KB+1 rows of the array.
  • LDBB β€” LDBB is INTEGER. The leading dimension of the array BB. LDBB >= KB+1.
  • X β€” X is DOUBLE PRECISION array, dimension (LDX,N). If VECT = 'V', the n-by-n matrix X. If VECT = 'N', the array X is not referenced.
  • LDX β€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise.
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (2*N). note the 2*N bestie, it's different from the complex one, don't get caught slipping 😭
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value.

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

same legends, still iconic 🌟

πŸ“ Definition πŸ“

Definition at line 157 of file dsbgst.f.


🌈 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 β€” single precision sister, she's real and she's here πŸ“

🌟 Purpose 🌟

bestie it's the same plot: SSBGST reduces a real symmetric-definite banded generalized eigenproblem A*x = lambda*B*x to standard form C*y = lambda*y, such that C has the same bandwidth as A. bandwidth preservation is the moment πŸ’…

B must have been previously factorized as S**T*S by SPBSTF, using a split Cholesky factorization. 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. yes queen, keep that bandwidth ✨

🌈 Parameters 🌈

  • VECT β€” VECT is CHARACTER*1. = 'N': do not form the transformation matrix X; = 'V': form X.
  • UPLO β€” UPLO is CHARACTER*1. = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored.
  • N β€” N is INTEGER. The order of the matrices A and B. N >= 0.
  • KA β€” KA is INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KA >= 0.
  • KB β€” KB is INTEGER. The number of superdiagonals of the matrix B if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KA >= KB >= 0.
  • 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+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, the transformed matrix X**T*A*X, stored in the same format as A. same format, new matrix, we love continuity 🫢

  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KA+1.
  • BB β€” BB is 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.

🧚 okay that's where part 1 lives β€” LDBB and the rest of ssbgst are pulling up in part 2, don't go anywhere 🧚
  • LDBB β€” INTEGER. The leading dimension of the array BB, bestie. Rule: LDBB >= KB+1. No cap. πŸ’…
  • X β€” REAL array, dimension (LDX,N). If VECT = 'V', it's the n-by-n matrix X. If VECT = 'N', the array X is not referenced β€” she's off duty, don't touch her. 🫢
  • LDX β€” INTEGER. The leading dimension of the array X. LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise. Periodt.
  • WORK β€” REAL array, dimension (2*N). That's the real ssbgst work array, not the complex one. ✨
  • INFO β€” INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. Snitch behavior, honestly. 😭

Author 🫢

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 157 of file ssbgst.f.


πŸ¦‹ subroutine zhbgst

subroutine zhbgst (character vect, character uplo, integer n, integer ka,
    integer kb, complex*16, dimension( ldab, * ) ab, integer ldab,
    complex*16, dimension( ldbb, * ) bb, integer ldbb, complex*16,
    dimension( ldx, * ) x, integer ldx, complex*16, dimension( * ) work,
    double precision, dimension( * ) rwork, integer info)

ZHBGST

🎯 Purpose

okay so ZHBGST reduces a complex Hermitian-definite banded generalized eigenproblem A*x = lambda*B*x to standard form C*y = lambda*y, such that C has the same bandwidth as A. πŸ¦‹

B must have been previously factorized as S**H*S by ZPBSTF, using a split Cholesky factorization. A is overwritten by C = X**H*A*X, where X = S**(-1)*Q and Q is a unitary matrix chosen to preserve the bandwidth of A. That's the whole plot. ✨

🧾 Parameters

  • VECT β€” CHARACTER*1.
    • = 'N': do not form the transformation matrix X;
    • = 'V': form X.

Pick your fighter. πŸ’…

  • UPLO β€” CHARACTER*1.
    • = '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 β€” COMPLEX*16 array, dimension (LDAB,N). On entry, the upper or lower triangle of the Hermitian 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, the transformed matrix X**H*A*X, stored in the same format as A. Iconic glow-up. ✨

  • LDAB β€” INTEGER. The leading dimension of the array AB. LDAB >= KA+1.
  • BB β€” COMPLEX*16 array, dimension (LDBB,N). The banded factor S from the split Cholesky factorization of B, as returned by ZPBSTF, stored in the first kb+1 rows of the array.
  • LDBB β€” INTEGER. The leading dimension of the array BB. LDBB >= KB+1.
  • X β€” COMPLEX*16 array, dimension (LDX,N). If VECT = 'V', the n-by-n matrix X. If VECT = 'N', the array X is not referenced. She said "not referenced," not "don't look at her," but same vibe. πŸ™ˆ
  • LDX β€” INTEGER. The leading dimension of the array X. LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise.
  • WORK β€” COMPLEX*16 array, dimension (N).
  • RWORK β€” DOUBLE PRECISION array, dimension (N).
  • INFO β€” INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value.

Author 🫢

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 163 of file zhbgst.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.


That's the rest of the page, bestie! Footer energy: source LAPACK, version 3.12.0, page hbgst(3), date stamped by the source β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from