CTBRFS(3)
β¨ CTBRFS(3) β error bounds & backward error for triangular band solves β¨
okay so bestie, this is a page from the LAPACK crew (Version 3.12.0), and it lives at this absolutely unhinged path:
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ctbrfs.f
yes that's the whole name section. it's giving "file path as a personality." iykyk π«Ά
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine CTBRFS (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x,
ldx, ferr, berr, work, rwork, info)
CTBRFS π
πΈ Function/Subroutine Documentation πΈ
subroutine CTBRFS (character uplo, character trans, character diag, integer
n, integer kd, integer nrhs, complex, dimension( ldab, * ) ab, integer
ldab, complex, dimension( ldb, * ) b, integer ldb, complex, dimension(
ldx, * ) x, integer ldx, real, dimension( * ) ferr, real, dimension( * )
berr, complex, dimension( * ) work, real, dimension( * ) rwork, integer
info)
CTBRFS π
π Purpose π
!>!> CTBRFS provides error bounds and backward error estimates for the!> solution to a system of linear equations with a triangular band!> coefficient matrix.!>!> The solution matrix X must be computed by CTBTRS or some other!> means before entering this routine. CTBRFS does not do iterative!> refinement because doing so cannot improve the backward error.!>
so like β this routine does not solve anything, bestie. it grades the solution you already have π you gotta get X from CTBTRS (or wherever, no judgement) before you knock on this door. and no, it does not do iterative refinement, because apparently that cannot improve the backward error. periodt. π₯
π Parameters π
UPLOβUPLOisCHARACTER*1= 'U':Ais upper triangular;= 'L':Ais lower triangular.
TRANSβTRANSisCHARACTER*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)
DIAGβDIAGisCHARACTER*1= 'N':Ais non-unit triangular;= 'U':Ais unit triangular.
NβNisINTEGER; the order of the matrixA.N >= 0. πKDβKDisINTEGER; the number of superdiagonals or subdiagonals of the triangular band matrixA.KD >= 0.NRHSβNRHSisINTEGER; the number of right hand sides, i.e., the number of columns of the matricesBandX.NRHS >= 0.ABβABisCOMPLEXarray, dimension(LDAB,N). it's the upper or lower triangular band matrixA, stored in the firstkd+1rows of the array. the j-th column ofAis stored in the j-th column of the arrayABlike this:- if
UPLO = 'U',AB(kd+1+i-j,j) = A(i,j)formax(1,j-kd)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+kd).
- if
and heads up π«Ά β if DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1.
LDABβLDABisINTEGER; the leading dimension of the arrayAB.LDAB >= KD+1. no cap.BβBisCOMPLEXarray, dimension(LDB,NRHS); the right hand side matrixB. πLDBβLDBisINTEGER; the leading dimension of the arrayB.LDB >= max(1,N).XβXisCOMPLEXarray, dimension(LDX,NRHS); the solution matrixX. this is the main character of the whole operation ngl βLDXβLDXisINTEGER; the leading dimension of the arrayX.LDX >= max(1,N).FERRβFERRisREALarray, dimension(NRHS); the estimated forward error bound for each solution vectorX(j)(the j-th column of the solution matrixX). ifXTRUEis the true solution corresponding toX(j), thenFERR(j)is an estimated upper bound for the magnitude of the largest element in(X(j) - XTRUE)divided by the magnitude of the largest element inX(j). the estimate is as reliable as the estimate forRCOND, and it's almost always a slight overestimate of the true error. humble queen behavior πBERRβBERRisREALarray, dimension(NRHS); the componentwise relative backward error of each solution vectorX(j)(i.e., the smallest relative change in any element ofAorBthat makesX(j)an exact solution). πWORKβWORKisCOMPLEXarray, dimension(2*N).RWORKβRWORKisREALarray, dimension(N).INFOβINFOisINTEGER= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 186 of file ctbrfs.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (iconic of her, honestly β no human typed this, the machine did, and it ate π€β¨)
that's the whole page bestie, go forth and compute your error bounds π
this has been LAPACK Version 3.12.0, dated and filed under /home/abui...RC/ctbrfs.f(3) β mwah, slay, see u in the next manpage ππ¦π
π¦ 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