CTPT05(3)
π¦ CTPT05(3) β LAPACK Library Functions Manual π¦
okay bestie, so this one lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/ctpt05.f and it's literally a whole vibe. it's a subroutine, it's in the LAPACK testing folder, and it's about to check somebody's iterative refinement. let's get into it π
β¨ SYNOPSIS β¨
πΈ Functions/Subroutines
subroutine CTPT05 (uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, xact,
ldxact, ferr, berr, reslts)
CTPT05
π Function/Subroutine Documentation π
subroutine CTPT05 (character uplo, character trans, character diag, integer
n, integer nrhs, complex, dimension( * ) ap, complex, dimension( ldb, *
) b, integer ldb, complex, dimension( ldx, * ) x, integer ldx, complex,
dimension( ldxact, * ) xact, integer ldxact, real, dimension( * ) ferr,
real, dimension( * ) berr, real, dimension( * ) reslts)
Yep, that's CTPT05. here we go π
π Purpose π
bestie, CTPT05 tests the error bounds from iterative refinement for the computed solution to a system of equations A*X = B, where A is a triangular matrix in packed storage format. no cap, that's the whole job.
so the results shake out like this:
RESLTS(1) = test of the error bound
= norm(X - XACT) / ( norm(X) * FERR )
and a large value is returned if this ratio is not less than one π β like, that's the flag, that's the "something's off" signal, fr fr.
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 )
periodt. π
π§ Parameters π§
okay so here's every single one of them, no skipping:
UPLOβCHARACTER*1. Specifies whether the matrixAis upper or lower triangular:'U': Upper triangular'L': Lower triangular
TRANSβ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)
DIAGβCHARACTER*1. Specifies whether or not the matrixAis unit triangular:'N': Non-unit triangular'U': Unit triangular
NβINTEGER. The number of rows of the matricesX,B, andXACT, and the order of the matrixA.N >= 0.NRHSβINTEGER. The number of columns of the matricesX,B, andXACT.NRHS >= 0.APβCOMPLEXarray, dimension(N*(N+1)/2). The upper or lower triangular matrixA, packed columnwise in a linear array. Thej-th column ofAis stored in the arrayAPas follows:- if
UPLO = 'U',AP(i + (j-1)*j/2) = A(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2n-j)/2) = A(i,j)forj<=i<=n.
- if
If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1. (iconic of them honestly)
BβCOMPLEXarray, dimension(LDB,NRHS). The right hand side vectors for the system of linear equations.LDBβINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).XβCOMPLEXarray, dimension(LDX,NRHS). The computed solution vectors. Each vector is stored as a column of the matrixX.LDXβINTEGER. The leading dimension of the arrayX.LDX >= max(1,N).XACTβCOMPLEXarray, dimension(LDX,NRHS). The exact solution vectors. Each vector is stored as a column of the matrixXACT. β¨ the truth β¨LDXACTβINTEGER. The leading dimension of the arrayXACT.LDXACT >= max(1,N).FERRβREALarray, 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.BERRβREALarray, dimension(NRHS). The componentwise relative backward error of each solution vector (i.e., the smallest relative change in any entry ofAorBthat makesXan exact solution).RESLTSβREALarray, dimension(2). The maximum over theNRHSsolution vectors of the ratios:RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR )RESLTS(2) = BERR / ( (n+1)*EPS + (*) )
π Author π
the whole squad behind this one, give them their flowers π«Ά:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 173 of file ctpt05.f. π
β Author (again, but the doxygen one) β
Generated automatically by Doxygen for LAPACK from the source code. yes, a robot wrote the docs, and honestly? she ate. π
lowkey a reminder bestie:LDB,LDX, andLDXACTall have to be>= max(1,N)or this is not going to go well for you. the manpage says it, so i'm saying it. π
π that's the whole page! LAPACK, Version 3.12.0, footer date and all β this was /home/abui...IN/ctpt05.f(3), and you absolutely understood it. slay. go test those error 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