CPBT05(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ¦‹ 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 β€” is CHARACTER*1, and she specifies whether the upper or lower triangular part of the Hermitian matrix A is stored. the options:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” INTEGER. the number of rows of the matrices X, B, and XACT, and the order of the matrix A. constraint: N >= 0.
  • KD β€” INTEGER. the number of super-diagonals of the matrix A if UPLO = 'U', or the number of sub-diagonals if UPLO = 'L'. constraint: KD >= 0.
  • NRHS β€” INTEGER. the number of columns of the matrices X, B, and XACT. constraint: NRHS >= 0.
  • AB β€” COMPLEX array, dimension (LDAB,N). it's the upper or lower triangle of the Hermitian band matrix A, stored in the first KD+1 rows of the array. the j-th column of A is stored in the j-th column of the array AB, 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 array AB. constraint: LDAB >= KD+1.
  • B β€” COMPLEX array, 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 array B. constraint: LDB >= max(1,N).
  • X β€” COMPLEX array, dimension (LDX,NRHS). the computed solution vectors. each vector is stored as a column of the matrix X.
  • LDX β€” INTEGER. the leading dimension of the array X. constraint: LDX >= max(1,N).
  • XACT β€” COMPLEX array, dimension (LDX,NRHS). the exact solution vectors. each vector is stored as a column of the matrix XACT. (yes, the dimension comment says LDX not LDXACT β€” that's what the original says and we do not touch it πŸ’…)
  • LDXACT β€” INTEGER. the leading dimension of the array XACT. constraint: LDXACT >= max(1,N).
  • FERR β€” REAL array, dimension (NRHS). the estimated forward error bounds for each solution vector X. if XTRUE is the true solution, FERR bounds the magnitude of the largest entry in (X - XTRUE) divided by the magnitude of the largest entry in X.
  • BERR β€” REAL array, dimension (NRHS). the componentwise relative backward error of each solution vector (i.e., the smallest relative change in any entry of A or B that makes X an exact solution).
  • RESLTS β€” REAL array, dimension (2). the maximum over the NRHS solution 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