TESTING/LIN/dgbt02.f(3)
π TESTING/LIN/dgbt02.f π
ok so this is a page from the Library Functions Manual β it's the glow-up doc for TESTING/LIN/dgbt02.f, and honestly? she's a whole vibe. let's get into it bestie π
β¨ NAME β¨
TESTING/LIN/dgbt02.f β literally the file, that's the name, no notes π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine dgbt02 (trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb,
rwork, resid)
DGBT02 β that's her. that's the subroutine. π¦
π Function/Subroutine Documentation π
π§ the full signature, no cap
subroutine dgbt02 (character trans, integer m, integer n, integer kl,
integer ku, integer nrhs, double precision, dimension( lda, * ) a,
integer lda, double precision, dimension( ldx, * ) x, integer ldx,
double precision, dimension( ldb, * ) b, integer ldb, double precision,
dimension( * ) rwork, double precision resid)
DGBT02
π Purpose π
ok so here's what she does β bestie, she computes the residual for a solution of a banded system of equations, and the system is:
op(A)*X = B
and the residual comes out as:
RESID = norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ),
where op(A) is either A or A**T (it depends on TRANS, iykyk), and EPS is the machine epsilon. πβ¨
and the norm in question? the 1-norm. periodt.
π₯ Parameters π₯
TRANSβTRANS is CHARACTER*1. it's the main character that decides which form of the system we're solving, bestie:= 'N':A * X = B(No transpose)= 'T':A**T * X = B(Transpose)= 'C':A**H * X = B(Conjugate transpose = Transpose)
MβM is INTEGER. the number of rows of the matrixA. and it better beM >= 0or we're not doing this. πNβN is INTEGER. the number of columns of the matrixA.N >= 0, always. πKLβKL is INTEGER. the number of subdiagonals chillin' within the band ofA.KL >= 0. πΈKUβKU is INTEGER. the number of superdiagonals within the band ofA.KU >= 0. she's above the diagonal, iconic. βNRHSβNRHS is INTEGER. the number of columns ofB.NRHS >= 0. πAβA is DOUBLE PRECISION array, dimension (LDA,N). it's the original matrixA, but in band storage β stored in rows1toKL+KU+1. she's compressed, she's efficient, she ate. πLDAβLDA is INTEGER. the leading dimension of the arrayA. requirement:LDA >= max(1,KL+KU+1). no shortcuts. πXβX is DOUBLE PRECISION array, dimension (LDX,NRHS). the computed solution vectors for the system of linear equations. the whole point, honestly. π«ΆLDXβLDX is INTEGER. the leading dimension of the arrayX. and it's conditional, so pay attention: ifTRANS = 'N', thenLDX >= max(1,N); ifTRANS = 'T'or'C', thenLDX >= max(1,M). πBβB is DOUBLE PRECISION array, dimension (LDB,NRHS). on entry, these are the right hand side vectors for the system of linear equations. on exit,Bgets overwritten with the differenceB - A*X. so yeah, she changes clothes mid-scene πLDBβLDB is INTEGER. the leading dimension of the arrayB. conditional again, bestie: IFTRANS = 'N',LDB >= max(1,M); ifTRANS = 'T'or'C',LDB >= max(1,N). lowkey read it twice. πRWORKβRWORK is DOUBLE PRECISION array, dimension (MAX(1,LRWORK)), whereLRWORK >= MwhenTRANS = 'T'or'C'; otherwise,RWORKis not referenced. she's only here when she's needed, main character energy. β¨RESIDβRESID is DOUBLE PRECISION. the maximum over the number of right hand sides ofnorm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ). this is the final score, the vibe check, the verdict. π₯
π¦ Author π¦
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β Definition β
Definition at line 147 of file dgbt02.f. slay. π
π Author (the meta one) π
Generated automatically by Doxygen for LAPACK from the source code. she was literally born this way, no cap. π«Ά
ngl bestie, that's the whole page β every flag, every bound, every max(1,...) accounted for. no facts dropped, only vibes added. π
and that's a wrap, babe π β with love from LAPACK, Version 3.12.0, dated TESTING/LIN/dgbt02.f(3). go forth and compute residuals, queen. πβ¨
π¦ 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