SPOT05(3)
okay bestie, welcome to the spot05.f(3) page π
it lives in the Library Functions Manual, and itβs all about SPOT05 β a Fortran subroutine that checks error bounds like itβs doing a vibe check on your linear solve. no cap, every detail is here. grab a strawberry drink π and letβs go.
πΈ NAME πΈ
the NAME is literally this exact file path:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/spot05.f
iconic, chaotic, but thatβs the name π
β¨ SYNOPSIS β¨
Functions/Subroutines
hereβs the callable thing, bestie:
subroutine SPOT05 (uplo, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact,
ferr, berr, reslts)
SPOT05
π« Function/Subroutine Documentation π«
this is the full documentation flex. the signature is long and dramatic, but itβs exactly this:
subroutine SPOT05 (character uplo, integer n, integer nrhs, real, dimension(
lda, * ) a, integer lda, 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)
SPOT05
π Purpose π
bestie, the purpose is this: SPOT05 tests the error bounds from iterative refinement for the computed solution to a system of equations A*X = B, where A is a symmetric n by n matrix. itβs giving quality control for your solve π₯
RESLTS(1) is the test of the error bound:
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. thatβs the vibe check failing π
RESLTS(2) is the residual from the iterative refinement routine:
RESLTS(2) = residual from the iterative refinement routine
= the maximum of BERR / ( (n+1)*EPS + (*) ), where
(*) = (n+1)*UNFL / (min_i (abs(A)*abs(X) +abs(b))_i )
π§© Parameters π§©
every parameter matters, no skipping π
UPLO
UPLO is CHARACTER*1 and tells us whether weβre storing the upper or lower triangular part of the symmetric matrix A.
= 'U': Upper triangular= 'L': Lower triangular
N
N is INTEGER: the number of rows of the matrices X, B, and XACT, and the order of the matrix A. N >= 0.
NRHS
NRHS is INTEGER: the number of columns of the matrices X, B, and XACT. NRHS >= 0.
A
A is REAL array, dimension (LDA,N): the symmetric matrix A.
if UPLO = 'U', the leading n by n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. if UPLO = 'L', the leading n by n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
LDA
LDA is INTEGER: the leading dimension of the array A. LDA >= max(1,N).
B
B is REAL array, dimension (LDB,NRHS): the right hand side vectors for the system of linear equations.
LDB
LDB is INTEGER: the leading dimension of the array 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.
LDX
LDX is INTEGER: the leading dimension of the array 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.
LDXACT
LDXACT is INTEGER: the leading dimension of the array 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.
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).
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 / ( (n+1)*EPS + (*) )
π Author π
the author squad is: Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd. π
Definition at line 162 of file spot05.f.
π Author π
this page was generated automatically by Doxygen for LAPACK from the source code.
okay thatβs the whole page, bestie. signing off from LAPACK Version 3.12.0, page /home/abui...IN/spot05.f(3) πβ¨ go forth, check those error bounds, and slay. 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