DPBT02(3)
π¦ DPBT02(3) β like, the residual checker for symmetric banded systems π
okay so real talk: this page lives in the Library Functions Manual, and it's all about a Fortran subroutine that goes by DPBT02. And the path is a whole journey, bestie β /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/dpbt02.f. We love a girl with a long address. π
β¨ SYNOPSIS β¨
Functions/Subroutines π
subroutine DPBT02 (uplo, n, kd, nrhs, a, lda, x, ldx, b, ldb, rwork,
resid)
DPBT02 β yes that's her name, that's her whole name, no notes. π
πΈ Function/Subroutine Documentation πΈ
subroutine DPBT02 (character uplo, integer n, integer kd, 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)
DPBT02 π
π«Ά Purpose
!> DPBT02 computes the residual for a solution of a symmetric banded !> system of equations A*x = b: !> RESID = norm( B - A*X ) / ( norm(A) * norm(X) * EPS) !> where EPS is the machine precision.
So basically she's the vibe-checker for your linear solve π§ β she takes A*x = b, measures how far B - A*X is from zero, and normalizes it by norm(A) * norm(X) * EPS. If your answer's slaying, RESID is tiny. If it's giving chaos, RESID is big. No cap. π₯
π Parameters
UPLOβUPLO is CHARACTER*1. Tells you which half of the symmetric matrixAwe're storing, bestie:= 'U': Upper triangular β¬οΈ= 'L': Lower triangular β¬οΈ
NβN is INTEGER. The number of rows and columns of the matrixA.N >= 0. Square queen behavior only. πKDβKD is INTEGER. The number of super-diagonals of the matrixAifUPLO = 'U', or the number of sub-diagonals ifUPLO = 'L'.KD >= 0. It's giving "how thick is the band" energy. πNRHSβNRHS is INTEGER. The number of right hand sides.NRHS >= 0. Yes she can handle multiple at once, multi-tasking icon. β¨AβA is DOUBLE PRECISION array, dimension (LDA,N). The original symmetric band matrixA, fr fr. IfUPLO = 'U', the upper triangular part ofAis stored as a band matrix; ifUPLO = 'L', the lower triangular part ofAis stored. The columns of the appropriate triangle are stored in the columns ofAand the diagonals of the triangle are stored in the rows ofA. SeeDPBTRFfor further details. πLDAβLDA is INTEGER.The leading dimension of the arrayA.LDA >= max(1,KD+1). Respect the constraint or else. πXβX is DOUBLE PRECISION array, dimension (LDX,NRHS). The computed solution vectors for the system of linear equations. This is your answer, your moment, your main character vector. πLDXβLDX is INTEGER. The leading dimension of the arrayX.LDX >= max(1,N). π¦BβB is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry, the right hand side vectors for the system of linear equations. On exit,Bis overwritten with the differenceB - A*X. So she does NOT ask permission, she just replacesBwith the leftover π β plan accordingly.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,N). βRWORKβRWORK is DOUBLE PRECISION array, dimension (N). Workspace. It's her little scratchpad, we don't ask questions. πRESIDβRESID is DOUBLE PRECISION. The maximum over the number of right hand sides of
norm(B - A*X) / ( norm(A) * norm(X) * EPS ).
The final grade. The moment of truth. The report card. ππ
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Four institutions, one subroutine, absolutely iconic collab. π«Ά
Definition at line 134 of file dpbt02.f.
π Author (the meta one)
Generated automatically by Doxygen for LAPACK from the source code. Not a human, just a very diligent robot doing her thing. π€β¨
okay that's the whole page, bestie β and for the cute sign-off: this one's stamped by LAPACK, Version 3.12.0, served fresh from /home/abui...IN/dpbt02.f(3). Go forth and check those residuals. Periodt. πππ·
π¦ 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