STBT05(3)
π
STBT05 (yes bestie, it's a stbt05.f situation)
okay so real talk β this page is from the Library Functions Manual, and it's all about one lil Fortran subroutine called STBT05 that lives in /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/stbt05.f. she's a LAPACK testing girlie. no cap. π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/stbt05.f β that's literally where she lives, that's the whole name, she's a file path and she's iconic for it πββοΈ
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine STBT05 (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts)β the whole squad, present and accounted for πΈSTBT05β yeah she's her own little heading too, main character energy fr fr
π Function/Subroutine Documentation π
subroutine STBT05
here's the full signature, verbatim, don't touch, she's precious β¨
subroutine STBT05 (character uplo, character trans, character diag, integer
n, integer kd, integer nrhs, real, dimension( ldab, * ) ab, integer
ldab, real, dimension( ldb, * ) b, integer ldb, real, dimension( ldx, *
) x, integer ldx, real, dimension( ldxact, * ) xact, integer ldxact,
real, dimension( * ) ferr, real, dimension( * ) berr, real, dimension( *
) reslts)
STBT05 β again, yes, that's the name, we love a self-titled moment π
π§ Purpose π§
okay so what does she do, bestie:
!>
!> STBT05 tests the error bounds from iterative refinement for the
!> computed solution to a system of equations A*X = B, where A is a
!> triangular 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
!>
so like β she checks the error bounds from iterative refinement on the computed solution to A*X = B where A is a triangular band matrix. RESLTS(1) is the error bound test, and if that ratio isn't less than one you get a big value back (screaming, crying, throwing up π). RESLTS(2) is the residual from the iterative refinement routine, and NZ is the max number of nonzeros in any row of A, plus 1. periodt.
π Parameters π
UPLO
!> UPLO is CHARACTER*1
!> Specifies whether the matrix A is upper or lower triangular.
!> = 'U': Upper triangular
!> = 'L': Lower triangular
!>
tells you if A is upper or lower triangular β 'U' for upper, 'L' for lower π«Ά
TRANS
!> TRANS is CHARACTER*1
!> Specifies the form of the system of equations.
!> = 'N': A * X = B (No transpose)
!> = 'T': A'* X = B (Transpose)
!> = 'C': A'* X = B (Conjugate transpose = Transpose)
!>
which form the system takes: 'N' means A * X = B (no transpose), 'T' means A'* X = B (transpose), and 'C' means A'* X = B (conjugate transpose, which equals transpose here β yeah, same thing, we said what we said π)
DIAG
!> DIAG is CHARACTER*1
!> Specifies whether or not the matrix A is unit triangular.
!> = 'N': Non-unit triangular
!> = 'U': Unit triangular
!>
is A unit triangular or not β 'N' for non-unit, 'U' for unit β¨
N
!> N is INTEGER
!> The number of rows of the matrices X, B, and XACT, and the
!> order of the matrix A. N >= 0.
!>
number of rows of X, B, and XACT, and the order of A. N >= 0, no negatives allowed bestie π«
KD
!> KD is INTEGER
!> The number of super-diagonals of the matrix A if UPLO = 'U',
!> or the number of sub-diagonals if UPLO = 'L'. KD >= 0.
!>
number of super-diagonals if UPLO = 'U', or sub-diagonals if UPLO = 'L'. KD >= 0 π
NRHS
!> NRHS is INTEGER
!> The number of columns of the matrices X, B, and XACT.
!> NRHS >= 0.
!>
number of columns of X, B, and XACT. NRHS >= 0 π
AB
!> AB is REAL array, dimension (LDAB,N)
!> 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).
!> If DIAG = 'U', the diagonal elements of A are not referenced
!> and are assumed to be 1.
!>
the upper or lower triangular band matrix A, stored in the first kd+1 rows of the array. the j-th column of A lives in the j-th column of AB like this: 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). and heads up β if DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1. don't come for her π
LDAB
!> LDAB is INTEGER
!> The leading dimension of the array AB. LDAB >= KD+1.
!>
leading dimension of AB. LDAB >= KD+1 β
B
!> B is REAL array, dimension (LDB,NRHS)
!> The right hand side vectors for the system of linear
!> equations.
!>
the right hand side vectors for the system of linear equations, as she should π
LDB
!> LDB is INTEGER
!> The leading dimension of the array B. LDB >= max(1,N).
!>
leading dimension of B. LDB >= max(1,N) β
X
!> X is REAL array, dimension (LDX,NRHS)
!> The computed solution vectors. Each vector is stored as a
!> column of the matrix X.
!>
the computed solution vectors, each one chilling as a column of X πΈ
LDX
!> LDX is INTEGER
!> The leading dimension of the array X. LDX >= max(1,N).
!>
leading dimension of X. LDX >= max(1,N) π
XACT
!> XACT is REAL array, dimension (LDX,NRHS)
!> The exact solution vectors. Each vector is stored as a
!> column of the matrix XACT.
!>
the exact solution vectors β the real ones, the truth-tellers β each stored as a column of XACT π
LDXACT
!> LDXACT is INTEGER
!> The leading dimension of the array XACT. LDXACT >= max(1,N).
!>
leading dimension of XACT. LDXACT >= max(1,N) π¦
FERR
!> FERR is 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.
!>
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. math is mathing π₯
BERR
!> BERR is 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).
!>
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. she's precise like that π
RESLTS
!> RESLTS is 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 + (*) )
!>
the maximum over the NRHS solution vectors of the ratios: RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) and RESLTS(2) = BERR / ( NZ*EPS + (*) ). two slots, both booked and busy β¨
ngl,RESLTShas dimension(2)and if you write past that, that's on you bestie, the manpage told you π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole academic + NAG collab, we love a group project that actually got finished π«Ά
Definition at line 187 of file stbt05.f. β line 187, remember it, there will not be a quiz but still π
π§ Author (the meta one) π§
Generated automatically by Doxygen for LAPACK from the source code. she wasn't written, she was generated, and honestly? still ate π
mwah π that's the whole page β this is LAPACK, Version 3.12.0, dated /home/abui...IN/stbt05.f(3) (yes the date is a file path, don't ask, it's giving auto-generated chaos π). now go test those error bounds, bestie, you've got this! πβ¨
π¦ 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