ZTBT02(3)
π ZTBT02 β like, the whole manual, bestie
okay so before we even get into it: the manual name is ztbt02.f(3) (yes, that's the page, that's the vibe), and the actual file we're documenting lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/ztbt02.f. she's a Fortran file, she's in the LIN testing directory, she's iconic, that's the whole header situation, moving on β¨
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/ztbt02.f
that's it. that's the name. it's a whole path. lowkey obsessed with how extra that is π
π¦ SYNOPSIS π¦
β¨ Functions/Subroutines β¨
subroutine ZTBT02 (uplo, trans, diag, n, kd, nrhs, ab, ldab, x, ldx, b,
ldb, work, rwork, resid)
ZTBT02
π Function/Subroutine Documentation π
subroutine ZTBT02 (character uplo, character trans, character diag, integer
n, integer kd, integer nrhs, complex*16, dimension( ldab, * ) ab,
integer ldab, complex*16, dimension( ldx, * ) x, integer ldx,
complex*16, dimension( ldb, * ) b, integer ldb, complex*16, dimension( *
) work, double precision, dimension( * ) rwork, double precision resid)
ZTBT02
π Purpose π
okay so here's what she actually does, and it's honestly so useful. ZTBT02 computes the residual for the computed solution to a triangular system of linear equations op(A)*X = B, when A is a triangular band matrix. and the test ratio? it's the maximum over
norm(b - op(A)*x) / ( ||op(A)||_1 * norm(x) * EPS ),
where op(A) = A, A**T, or A**H, b is the column of B, x is the solution vector, and EPS is the machine epsilon. math girlie things π§
π Parameters π
UPLOβ isCHARACTER*1, and she specifies whether the matrixAis upper or lower triangular. the options are:= 'U': Upper triangular π= 'L': Lower triangular
TRANSβ isCHARACTER*1, specifies the operation applied toA. the lineup:= 'N':A * X = B(No transpose)= 'T':A**T * X = B(Transpose)= 'C':A**H * X = B(Conjugate transpose)
DIAGβ isCHARACTER*1, specifies whether or not the matrixAis unit triangular. so:= 'N': Non-unit triangular= 'U': Unit triangular
Nβ isINTEGER, the order of the matrixA.N >= 0. no negative girlies allowed π«KDβ isINTEGER, the number of superdiagonals or subdiagonals of the triangular band matrixA.KD >= 0.NRHSβ isINTEGER, the number of right hand sides, i.e., the number of columns of the matricesXandB.NRHS >= 0.ABβ isCOMPLEX*16array, dimension(LDA,N). this is the upper or lower triangular band matrixA, stored in the firstkd+1rows of the array. thej-th column ofAis stored in thej-th column of the arrayABas follows:- 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
LDABβ isINTEGER, the leading dimension of the arrayAB.LDAB >= max(1,KD+1). respect the constraint bestie πXβ isCOMPLEX*16array, dimension(LDX,NRHS). the computed solution vectors for the system of linear equations. the main character of this whole operation tbh βLDXβ isINTEGER, the leading dimension of the arrayX.LDX >= max(1,N).Bβ isCOMPLEX*16array, dimension(LDB,NRHS). the right hand side vectors for the system of linear equations.LDBβ isINTEGER, the leading dimension of the arrayB.LDB >= max(1,N).WORKβ isCOMPLEX*16array, dimension(N). just a lil workspace, doing her thing π«ΆRWORKβ isDOUBLE PRECISIONarray, dimension(N). more workspace, this time the real kind.RESIDβ isDOUBLE PRECISION, and this is the moment: the maximum over the number of right hand sides of
norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
that's the whole point of the routine fr fr π₯
ngl, watch those dimension rules βLDAB >= max(1,KD+1)andLDX >= max(1,N)andLDB >= max(1,N)are not suggestions, they're the law π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad, no cap π«‘
Definition at line 157 of file ztbt02.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. yes she was autogenerated, yes she still ate π β¨
and that's the page bestie!! π this whole thing is from LAPACK, Version 3.12.0, and the footer path was /home/abui...IN/ztbt02.f(3) β you're welcome, go forth and check those residuals ππ
π¦ 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