DGBT05(3)
π NAME
ok so bestie, this page is literally all about /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/dgbt05.f β that's the file, that's the manual page dgbt05.f(3), and honestly? it's a whole vibe.
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine DGBT05 (trans, n, kl, ku, nrhs, ab, ldab, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts)β the one and onlyDGBT05, no cap π«Ά
π Function/Subroutine Documentation π
subroutine DGBT05 (character trans, integer n, integer kl, integer ku, integer nrhs, double precision, dimension( ldab, * ) ab, integer ldab, double precision, dimension( ldb, * ) b, integer ldb, double precision, dimension( ldx, * ) x, integer ldx, double precision, dimension( ldxact, * ) xact, integer ldxact, double precision, dimension( * ) ferr, double precision, dimension( * ) berr, double precision, dimension( * ) reslts)
DGBT05 β she's the main character of this whole page π
Purpose π¦
!>
!> DGBT05 tests the error bounds from iterative refinement for the
!> computed solution to a system of equations op(A)*X = B, where A is a
!> general band matrix of order n with kl subdiagonals and ku
!> superdiagonals and op(A) = A or A**T, depending on TRANS.
!>
!> RESLTS(1) = test of the error bound
!> = norm(X - XACT) / ( norm(X) * FERR )
!>
!> A large value is returned if this ratio is not less than one.
!>
!> RESLTS(2) = residual from the iterative refinement routine
!> = the maximum of BERR / ( NZ*EPS + (*) ), where
!> (*) = NZ*UNFL / (min_i (abs(op(A))*abs(X) +abs(b))_i )
!> and NZ = max. number of nonzeros in any row of A, plus 1
!>
so like, she's out here testing error bounds from iterative refinement on op(A)*X = B, where A is a general band matrix of order n, with kl subdiagonals and ku superdiagonals, and op(A) = A or A**T depending on TRANS. iconic behavior honestly πΈ
Parameters π
TRANSβTRANS is CHARACTER*1. this queen specifies the form of the system of equations, okurrr:= 'N': A * X = B (No transpose)= 'T': A**T * X = B (Transpose)= 'C': A**H * X = B (Conjugate transpose = Transpose)
NβN is INTEGER. the number of rows of the matricesX,B, andXACT, and the order of the matrixA.N >= 0. soNis literally the boss of how many rows we're dealing with π«‘KLβKL is INTEGER. the number of subdiagonals within the band ofA.KL >= 0. lowkey the downward reach of the band β¨KUβKU is INTEGER. the number of superdiagonals within the band ofA.KU >= 0. andKUis the upward reach, balanced queen that she is πNRHSβNRHS is INTEGER. the number of columns of the matricesX,B, andXACT.NRHS >= 0. basically how many right-hand sides are invited to the party πABβAB is DOUBLE PRECISION array, dimension (LDAB,N). the original band matrixA, stored in rows1toKL+KU+1. the j-th column ofAis stored in the j-th column of the arrayABlike this:
AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).
(yes the indexing is a little extra, but she's worth it ngl)
LDABβLDAB is INTEGER. the leading dimension of the arrayAB.LDAB >= KL+KU+1. do NOT disrespect this bound πBβB is DOUBLE PRECISION array, dimension (LDB,NRHS). the right hand side vectors for the system of linear equations. the "= B" part of the whole situation, yk?LDBβLDB is INTEGER. the leading dimension of the arrayB.LDB >= max(1,N).XβX is DOUBLE PRECISION array, dimension (LDX,NRHS). the computed solution vectors. each vector is stored as a column of the matrixX. she's the computed one, aka the try-hard πLDXβLDX is INTEGER. the leading dimension of the arrayX.LDX >= max(1,N).XACTβXACT is DOUBLE PRECISION array, dimension (LDX,NRHS). the exact solution vectors. each vector is stored as a column of the matrixXACT. the standard. the blueprint. the "what it should be" πLDXACTβLDXACT is INTEGER. the leading dimension of the arrayXACT.LDXACT >= max(1,N). (yes bestie, the declaration saysdimension (LDX,NRHS)but the leading dim isLDXACTβ that's just how the original rolls, I don't make the rules π)FERRβFERR is DOUBLE PRECISION array, dimension (NRHS). the estimated forward error bounds for each solution vectorX. ifXTRUEis the true solution,FERRbounds the magnitude of the largest entry in(X - XTRUE)divided by the magnitude of the largest entry inX. so like, a fancy way of saying "how far off are we, relative to how big we are" πBERRβBERR is DOUBLE PRECISION array, dimension (NRHS). the componentwise relative backward error of each solution vector (i.e., the smallest relative change in any entry ofAorBthat makesXan exact solution). the "how much would we have to tweak the inputs to make this look perfect" metric π¦RESLTSβRESLTS is DOUBLE PRECISION array, dimension (2). the maximum over theNRHSsolution vectors of the ratios:
RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR )
RESLTS(2) = BERR / ( NZ*EPS + (*) )
Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad came together for this one, fr fr π«Ά
Definition at line 174 of file dgbt05.f.
π§ Author (the meta one) π§
Generated automatically by Doxygen for LAPACK from the source code. not a human, just vibes and a parser πβ¨
and that's the whole page bestie β every flag, every bound, every formula, nothing skipped. you're so welcome π
LAPACK Β· Version 3.12.0 Β· /home/abui...IN/dgbt05.f(3) β mwah, that's the sign-off, go slay your linear algebra ππ
π₯
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms