STBT03(3)

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

πŸ’… STBT03(3) β€” like, the triangular band residual checker bestie

okay so real talk, this page lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/stbt03.f (yes that's a whole journey, don't @ me) and it's chillin' in the Library Functions Manual section. it's giving "test routine that verifies your triangular solve actually ate." πŸ¦‹


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine STBT03 (uplo, trans, diag, n, kd, nrhs, ab, ldab, scale,
    cnorm, tscal, x, ldx, b, ldb, work, resid)

STBT03. that's her. that's the whole name. iconic behavior honestly. πŸ‘‘


πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine STBT03 (character uplo, character trans, character diag, integer
    n, integer kd, integer nrhs, real, dimension( ldab, * ) ab, integer
    ldab, real scale, real, dimension( * ) cnorm, real tscal, real,
    dimension( ldx, * ) x, integer ldx, real, dimension( ldb, * ) b, integer
    ldb, real, dimension( * ) work, real resid)

STBT03 πŸ’–

Purpose: 🌸

sooo what she does β€” STBT03 computes the residual for the solution to a scaled triangular system of equations A*x = s*b or A'*x = s*b when A is a triangular band matrix. here A' is the transpose of A, s is a scalar, and x and b are N by NRHS matrices. the test ratio is the maximum over the number of right hand sides of

norm(s*b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),

where op(A) denotes A or A' and EPS is the machine epsilon. basically she's the vibe check for your triangular solve. no cap. ✨

Parameters πŸ”₯

  • UPLO β€” UPLO is CHARACTER*1. tells you whether the matrix A is upper or lower triangular. and the options are:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • TRANS β€” TRANS is CHARACTER*1. specifies the operation applied to A. choices below bestie:
    • = 'N': A *x = b (No transpose)
    • = 'T': A'*x = b (Transpose)
    • = 'C': A'*x = b (Conjugate transpose = Transpose)
  • DIAG β€” DIAG is CHARACTER*1. specifies whether or not the matrix A is unit triangular. pick your fighter:
    • = 'N': Non-unit triangular
    • = 'U': Unit triangular
  • N β€” N is INTEGER. the order of the matrix A. N >= 0. lowkey the main character here.
  • KD β€” KD is INTEGER. the number of superdiagonals or subdiagonals of the triangular band matrix A. KD >= 0.
  • NRHS β€” NRHS is INTEGER. the number of right hand sides, i.e., the number of columns of the matrices X and B. NRHS >= 0.
  • AB β€” AB is REAL array, dimension (LDAB,N). this is the upper or lower triangular 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 as follows:
    • 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).

(yes she's specific. respect it. πŸ’…)

  • LDAB β€” LDAB is INTEGER. the leading dimension of the array AB. LDAB >= KD+1.
  • SCALE β€” SCALE is REAL. the scaling factor s used in solving the triangular system.
  • CNORM β€” CNORM is REAL array, dimension (N). the 1-norms of the columns of A, not counting the diagonal. read that again, bestie, the diagonal is NOT invited to this party. πŸ™ˆ
  • TSCAL β€” TSCAL is REAL. the scaling factor used in computing the 1-norms in CNORM. CNORM actually contains the column norms of TSCAL*A. so like, the norms got a glow-up first.
  • X β€” X is REAL array, dimension (LDX,NRHS). the computed solution vectors for the system of linear equations. the answer your code thinks it found. 🧚
  • LDX β€” LDX is INTEGER. the leading dimension of the array X. LDX >= max(1,N).
  • B β€” B is REAL array, dimension (LDB,NRHS). the right hand side vectors for the system of linear equations. the original ask, fr fr.
  • LDB β€” LDB is INTEGER. the leading dimension of the array B. LDB >= max(1,N).
  • WORK β€” WORK is REAL array, dimension (N). scratch space, doing unpaid labor, we love her. 🫢
  • RESID β€” RESID is REAL. the maximum over the number of right hand sides of
norm(op(A)*x - s*b) / ( norm(op(A)) * norm(x) * EPS ).

so it's the final score. if RESID is tiny, you slayed. if it's big… πŸ’€


πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 172 of file stbt03.f. πŸ“


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a very diligent little robot πŸŽ€)


and that's the whole page, bestie. LAPACK, Version 3.12.0, brought to you from /home/abui...IN/stbt03.f(3) β€” mwah πŸ’‹, go check those residuals. πŸŒˆπŸ’œ

πŸ“¦ where this page comes from