SRC/spbtrs.f(3)
π SRC/spbtrs.f(3) β like, the whole manual page, bestie π
Okay so this is the man page for SRC/spbtrs.f from the Library Functions Manual and honestly? she's a legend. Let's get into it. π«Ά
β¨ NAME β¨
SRC/spbtrs.f β that's her. That's the file. Periodt. π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine spbtrs (uplo, n, kd, nrhs, ab, ldab, b, ldb, info)β SPBTRS. that's the whole vibe. β¨
π¦ Function/Subroutine Documentation π¦
subroutine spbtrs (character uplo, integer n, integer kd, integer nrhs,
real, dimension( ldab, * ) ab, integer ldab, real, dimension( ldb, * )
b, integer ldb, integer info)
SPBTRS. iconic name, iconic subroutine, no notes. π
π Purpose π
!> !> SPBTRS solves a system of linear equations A*X = B with a symmetric !> positive definite band matrix A using the Cholesky factorization !> A = UT*U or A = L*LT computed by SPBTRF. !>
so literally what she does is take your system A*X = B, where A is a symmetric positive definite band matrix, and solve it β using the Cholesky factorization A = U**T*U or A = L*L**T that SPBTRF already did for you. she's picking up where SPBTRF left off, which is honestly such main character energy. π
π Parameters π
Let's go through them one by one, no skipping, I promise. π
UPLO π«
!> UPLO is CHARACTER*1 !> = 'U': Upper triangular factor stored in AB; !> = 'L': Lower triangular factor stored in AB. !>
UPLO is CHARACTER*1 and it's basically the vibe check for which triangle you're working with:
'U'β the upper triangular factor is stored inAB'L'β the lower triangular factor is stored inAB
pick your fighter, bestie. π
N π’
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
N is INTEGER, it's the order of the matrix A, and it's gotta be N >= 0. no negatives, she's not about that life. β¨
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. !>
KD is INTEGER β the number of superdiagonals of A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. also KD >= 0. yes ma'am. π«Ά
NRHS π¦
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>
NRHS is INTEGER β the number of right hand sides, aka literally the number of columns of B. and yeah, NRHS >= 0. π
AB π
!> AB is REAL array, dimension (LDAB,N) !> The triangular factor U or L from the Cholesky factorization !> A = UT*U or A = L*LT of the band matrix A, stored in the !> first KD+1 rows of the array. The j-th column of U or L is !> stored in the j-th column of the array AB as follows: !> if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j; !> if UPLO ='L', AB(1+i-j,j) = L(i,j) for j<=i<=min(n,j+kd). !>
AB is a REAL array, dimension (LDAB,N) and she's carrying the triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A, stored in the first KD+1 rows of the array. the j-th column of U or L lives in the j-th column of AB, and the indexing goes like this:
- if
UPLO ='U',AB(kd+1+i-j,j) = U(i,j)formax(1,j-kd)<=i<=j - if
UPLO ='L',AB(1+i-j,j) = L(i,j)forj<=i<=min(n,j+kd)
that's the whole map, don't lose it. πΊοΈβ¨
LDAB π§
!> LDAB is INTEGER !> The leading dimension of the array AB. LDAB >= KD+1. !>
LDAB is INTEGER, she's the leading dimension of the array AB, and the rule is LDAB >= KD+1. non-negotiable. π
B π
!> B is REAL array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, the solution matrix X. !>
B is a REAL array, dimension (LDB,NRHS) and she's doing a glow-up mid-call:
- on entry β the right hand side matrix
B - on exit β the solution matrix
X
literally the transformation arc we all deserve. π¦π₯
LDB πΈ
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
LDB is INTEGER, the leading dimension of the array B, and it's gotta satisfy LDB >= max(1,N). yes, max(1,N), not just N. write that down. π
INFO β
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !>
INFO is INTEGER and she's the final report card:
= 0β successful exit, we ate, no crumbs π< 0β ifINFO = -i, the i-th argument had an illegal value, so likeβ¦ somebody's getting a talking-to π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
look at that squad. absolute royalty. ππππ
π§Ύ Definition at line 120 of file spbtrs.f. π§Ύ
exactly there. line 120. spbtrs.f. iykyk. π«Ά
π« Author π«
Generated automatically by Doxygen for LAPACK from the source code.
yeah, Doxygen did that. auto-generated and still serving looks. π€β¨
and that's the page, bestie! brought to you by LAPACK, Version 3.12.0, for SRC/spbtrs.f(3) β go solve those systems, ily, bye! ππππ¦πΈβ
π¦ 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