ZGET07(3)
π ZGET07(3) π
okay bestie, this is the ZGET07(3) page from the Library Functions Manual, and the header path is literally /home/abui...IN/zget07.f(3). We're about to vibe-check LAPACK's error-bound tester, no cap. β¨
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zget07.f
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine ZGET07 (trans, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact,
ferr, chkferr, berr, reslts)
ZGET07
π Function/Subroutine Documentation π
subroutine ZGET07 (character trans, integer n, integer nrhs, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b,
integer ldb, complex*16, dimension( ldx, * ) x, integer ldx, complex*16,
dimension( ldxact, * ) xact, integer ldxact, double precision,
dimension( * ) ferr, logical chkferr, double precision, dimension( * )
berr, double precision, dimension( * ) reslts)
ZGET07
π¦ Purpose π¦
okay so ZGET07 tests the error bounds from iterative refinement for the computed solution to a system of equations op(A)*X = B, where A is a general n by n matrix and op(A) = A or A**T, depending on TRANS. π«
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. π
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(op(A))*abs(X) +abs(b))_i )
π Parameters π
TRANSβ it's aCHARACTER*1, and it specifies the form of the system of equations:'N': A * X = B (No transpose),'T': A**T * X = B (Transpose),'C': A**H * X = B (Conjugate transpose = Transpose). pick your fighter β¨NβN is INTEGER, and it's the number of rows of the matricesXandXACT.N >= 0.NRHSβNRHS is INTEGER, and it's the number of columns of the matricesXandXACT.NRHS >= 0.AβA is COMPLEX*16 array, dimension (LDA,N). This is the originalnbynmatrixA.LDAβLDA is INTEGER, the leading dimension of the arrayA.LDA >= max(1,N).BβB is COMPLEX*16 array, dimension (LDB,NRHS). These are the right hand side vectors for the system of linear equations.LDBβLDB is INTEGER, the leading dimension of the arrayB.LDB >= max(1,N).XβX is COMPLEX*16 array, dimension (LDX,NRHS). These are the computed solution vectors, and each vector is stored as a column of the matrixX.LDXβLDX is INTEGER, the leading dimension of the arrayX.LDX >= max(1,N).XACTβXACT is COMPLEX*16 array, dimension (LDX,NRHS). These are the exact solution vectors, and each vector is stored as a column of the matrixXACT.LDXACTβLDXACT is INTEGER, the leading dimension of the arrayXACT.LDXACT >= max(1,N).FERRβFERR is DOUBLE PRECISION array, dimension (NRHS). These are 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.CHKFERRβCHKFERR is LOGICAL. Set it to.TRUE.to checkFERR, and.FALSE.not to checkFERR.BERRβBERR is DOUBLE PRECISION array, dimension (NRHS). This is the componentwise relative backward error of each solution vector (i.e., the smallest relative change in any entry ofAorBthat makesXan exact solution).RESLTSβRESLTS is DOUBLE PRECISION array, dimension (2). This is the maximum over theNRHSsolution vectors of the ratios:
RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR )
RESLTS(2) = BERR / ( (n+1)*EPS + (*) )
β οΈ real talk: when the test system is ill-conditioned, the solution inXACTmay be incorrect.CHKFERRis literally the switch for whether you checkFERR, bestie. don't ignore that. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 164 of file zget07.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
mwah π this little tour was brought to you by LAPACK Version 3.12.0, from /home/abui...IN/zget07.f(3). bye bestie, go test those bounds! π«Άπ
π¦ 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