CPBT05(3)
π¦ CPBT05(3) β like, the Hermitian band-matrix error-bound checker, bestie
okay so real quick: this is a page from the Library Functions Manual, and the file it's documenting literally lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/cpbt05.f. that's the whole NAME section, no notes π
β¨ SYNOPSIS β¨
π Functions/Subroutines
here's the whole cast, no cap:
subroutine CPBT05 (uplo, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, xact,
ldxact, ferr, berr, reslts)
CPBT05
π Function/Subroutine Documentation π
πΈ the actual signature, character for character
subroutine CPBT05 (character uplo, integer n, integer kd, integer nrhs,
complex, dimension( ldab, * ) ab, integer ldab, complex, dimension( ldb,
* ) b, integer ldb, complex, dimension( ldx, * ) x, integer ldx,
complex, dimension( ldxact, * ) xact, integer ldxact, real, dimension( *
) ferr, real, dimension( * ) berr, real, dimension( * ) reslts)
CPBT05 β that's her name, that's her whole thing π«Ά
π₯ Purpose:
so what does she actually do? she tests the error bounds from iterative refinement for a computed solution to a system of equations A*X = B, where A is a Hermitian band matrix. that's it, that's the vibe β¨
!>
!> CPBT05 tests the error bounds from iterative refinement for the
!> computed solution to a system of equations A*X = B, where A is a
!> Hermitian band matrix.
!>
!> 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(A)*abs(X) +abs(b))_i )
!> and NZ = max. number of nonzeros in any row of A, plus 1
!>
π note the "a large value is returned if this ratio is not less than one" β that's your red flag, babes. big number = the bound did not hold.
π Parameters π
every single one of them, obsessed with the thoroughness honestly:
UPLOβ isCHARACTER*1, and she specifies whether the upper or lower triangular part of the Hermitian matrixAis stored. the options:= 'U':Upper triangular= 'L':Lower triangular
NβINTEGER. the number of rows of the matricesX,B, andXACT, and the order of the matrixA. constraint:N >= 0.KDβINTEGER. the number of super-diagonals of the matrixAifUPLO = 'U', or the number of sub-diagonals ifUPLO = 'L'. constraint:KD >= 0.NRHSβINTEGER. the number of columns of the matricesX,B, andXACT. constraint:NRHS >= 0.ABβCOMPLEXarray, dimension(LDAB,N). it's the upper or lower triangle of the Hermitian band matrixA, stored in the firstKD+1rows of the array. the j-th column ofAis stored in the j-th column of the arrayAB, like so:
if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).
fr fr, copy that indexing exactly, do not freestyle π₯
LDABβINTEGER. the leading dimension of the arrayAB. constraint:LDAB >= KD+1.BβCOMPLEXarray, dimension(LDB,NRHS). the right hand side vectors for the system of linear equations. the whole point, honestly.LDBβINTEGER. the leading dimension of the arrayB. constraint:LDB >= max(1,N).XβCOMPLEXarray, dimension(LDX,NRHS). the computed solution vectors. each vector is stored as a column of the matrixX.LDXβINTEGER. the leading dimension of the arrayX. constraint:LDX >= max(1,N).XACTβCOMPLEXarray, dimension(LDX,NRHS). the exact solution vectors. each vector is stored as a column of the matrixXACT. (yes, the dimension comment saysLDXnotLDXACTβ that's what the original says and we do not touch it π )LDXACTβINTEGER. the leading dimension of the arrayXACT. constraint:LDXACT >= max(1,N).FERRβREALarray, 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.BERRβREALarray, dimension(NRHS). the componentwise relative backward error of each solution vector (i.e., the smallest relative change in any entry ofAorBthat makesXan exact solution).RESLTSβREALarray, 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.
Definition at line 169 of file cpbt05.f.
β Author (the meta one)
Generated automatically by Doxygen for LAPACK from the source code. not a human, just a robot doing its little job π€β¨
okay that's the whole page, you ate that π and for the cute sign-off: this gorgeous thing is LAPACK, Version 3.12.0, and the source file stamped on it is /home/abui...IN/cpbt05.f(3) β mwah, 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