DGET07(3)
π DGET07(3) β dget07.f, from the LAPACK Library Functions Manual π
okay bestie so this page is from the LAPACK Library Functions Manual (that's the manual name, slay) and the file it documents lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/dget07.f β yes that's the whole NAME section, it's literally just the path, very "my name is my address" of it. iconic honestly.
β¨ SYNOPSIS β¨
π«Ά Functions/Subroutines
subroutine DGET07 (trans, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact,
ferr, chkferr, berr, reslts)
DGET07 β the group chat is calling π
πΈ Function/Subroutine Documentation πΈ
subroutine DGET07 (character trans, integer n, integer nrhs, double
precision, dimension( lda, * ) a, integer lda, double precision,
dimension( ldb, * ) b, integer ldb, double precision, dimension( ldx, *
) x, integer ldx, double precision, dimension( ldxact, * ) xact, integer
ldxact, double precision, dimension( * ) ferr, logical chkferr, double
precision, dimension( * ) berr, double precision, dimension( * ) reslts)
DGET07 π
π Purpose π
!>!> DGET07 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) = 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 / ( (n+1)*EPS + (*) ), where!> (*) = (n+1)*UNFL / (min_i (abs(op(A))*abs(X) +abs(b))_i )!>
so basically this routine is the vibe-check manager for iterative refinement β it peeks at your computed solution to op(A)*X = B (where A is a general n by n matrix and op(A) is either A or A**T, depending on TRANS) and is like "girlβ¦ are these error bounds actually bounds" πβ¨
two things come back in RESLTS:
RESLTS(1)=norm(X - XACT) / ( norm(X) * FERR )β the error bound test, and if that ratio isn't less than one you get a large value back, i.e. the test is failing, ngl.RESLTS(2)=BERR / ( (n+1)*EPS + (*) ), maximized over stuff, where(*) = (n+1)*UNFL / (min_i (abs(op(A))*abs(X) +abs(b))_i ).
yes king, get those bounds checked π
π¦ Parameters π¦
TRANSβTRANSisCHARACTER*1. it says what shape the system is taking, lowkey the main character of the input list:= 'N': A * X = B (No transpose)= 'T': A**T * X = B (Transpose)= 'C': A**H * X = B (Conjugate transpose = Transpose)
NβNisINTEGER. the number of rows of the matricesXandXACT.N >= 0. zero is allowed, she's flexible πNRHSβNRHSisINTEGER. the number of columns of the matricesXandXACT.NRHS >= 0.AβAisDOUBLE PRECISIONarray, dimension(LDA,N). the original n by n matrixA. the blueprint. the moment.LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N). don't disrespect her.BβBisDOUBLE PRECISIONarray, dimension(LDB,NRHS). the right hand side vectors for the system of linear equations. the "what we're tryna solve for" energy πLDBβLDBisINTEGER. the leading dimension of the arrayB.LDB >= max(1,N).XβXisDOUBLE PRECISIONarray, dimension(LDX,NRHS). the computed solution vectors. each vector is stored as a column of the matrixX. she's computed, not exact, we're all doing our best πLDXβLDXisINTEGER. the leading dimension of the arrayX.LDX >= max(1,N).XACTβXACTisDOUBLE PRECISIONarray, dimension(LDX,NRHS). the exact solution vectors. each vector is stored as a column of the matrixXACT. the unattainable standard, fr fr β¨LDXACTβLDXACTisINTEGER. the leading dimension of the arrayXACT.LDXACT >= max(1,N).FERRβFERRisDOUBLE PRECISIONarray, dimension(NRHS). 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. so like, how far off are we, relative-style π«ΆCHKFERRβCHKFERRisLOGICAL. set to.TRUE.to checkFERR,.FALSE.not to checkFERR. and here's the tea: when the test system is ill-conditioned, the solution inXACTmay be incorrect. so yeah, that's a real caveat, bestie, don't come for the results if the system is messy πBERRβBERRisDOUBLE PRECISIONarray, dimension(NRHS). the componentwise relative backward error of each solution vector (i.e., the smallest relative change in any entry ofAorBthat makesXan exact solution). the "how much would we have to lie to make this correct" number πRESLTSβRESLTSisDOUBLE PRECISIONarray, dimension(2). the maximum over theNRHSsolution vectors of these ratios:RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR )RESLTS(2) = BERR / ( (n+1)*EPS + (*) )
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 163 of file dget07.f. β go look, line 163, she's right there π
π Author (of this here page) π
Generated automatically by Doxygen for LAPACK from the source code. not a human, just vibes and a parser π€β¨
β little reminder before you go: this page is part of LAPACK, Version 3.12.0, and the whole thing signs off as /home/abui...IN/dget07.f(3) β mwah, bye bestie, go check 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