TESTING/LIN/dgtt01.f(3)
β¨ TESTING/LIN/dgtt01.f β¨
okay bestie, so this is like the manual page for TESTING/LIN/dgtt01.f and honestly it's giving "I test linear algebra so you don't have to" energy π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine dgtt01 (n, dl, d, du, dlf, df, duf, du2, ipiv, work, ldwork,
rwork, resid)
DGTT01 β that's the name, no cap π
π Function/Subroutine Documentation π
subroutine dgtt01 (integer n, double precision, dimension( * ) dl, double precision, dimension( * ) d, double precision, dimension( * ) du, double precision, dimension( * ) dlf, double precision, dimension( * ) df, double precision, dimension( * ) duf, double precision, dimension( * ) du2, integer, dimension( * ) ipiv, double precision, dimension( ldwork, * ) work, integer ldwork, double precision, dimension( * ) rwork, double precision resid)
DGTT01 β yes queen, say it again π
π¦ Purpose π¦
so like, DGTT01 reconstructs a tridiagonal matrix A from its LU factorization, and then it computes the residual β and the formula is literally:
norm(L*U - A) / ( norm(A) * EPS ),
where EPS is the machine epsilon, bestie. that's the whole vibe β¨
π Parameters π
okay so here's every single parameter, no skipping, we're thorough in this house:
NβNis INTEGER. it's the order of the matrixA, and it's gotta beN >= 0. periodt πDLβDLis DOUBLE PRECISION array, dimension(N-1). these are the(n-1)sub-diagonal elements ofA. lowkey important πDβDis DOUBLE PRECISION array, dimension(N). the diagonal elements ofA. main character energy honestly βDUβDUis DOUBLE PRECISION array, dimension(N-1). the(n-1)super-diagonal elements ofA. slay πDLFβDLFis DOUBLE PRECISION array, dimension(N-1). these are the(n-1)multipliers that define the matrixLfrom the LU factorization ofA. iconic π₯DFβDFis DOUBLE PRECISION array, dimension(N). thendiagonal elements of the upper triangular matrixUfrom the LU factorization ofA. we stan πΈDUFβDUFis DOUBLE PRECISION array, dimension(N-1). the(n-1)elements of the first super-diagonal ofU. yes bestie π¦DU2βDU2is DOUBLE PRECISION array, dimension(N-2). the(n-2)elements of the second super-diagonal ofU. look at her go πIPIVβIPIVis INTEGER array, dimension(N). these are the pivot indices; for1 <= i <= n, rowiof the matrix was interchanged with rowIPIV(i). and here's the tea:IPIV(i)will always be eitheriori+1; ifIPIV(i) = ithat means a row interchange was not required. iykyk πWORKβWORKis DOUBLE PRECISION array, dimension(LDWORK,N). it's workspace, it works hard so you don't have to β¨LDWORKβLDWORKis INTEGER. it's the leading dimension of the arrayWORK, and it needsLDWORK >= max(1,N). don't forget that constraint bestie πRWORKβRWORKis DOUBLE PRECISION array, dimension(N). more workspace, we love to see it πRESIDβRESIDis DOUBLE PRECISION. it's the scaled residual:norm(L*U - A) / (norm(A) * EPS). this is the final answer, the payoff, the moment we've all been waiting for π
π Author π
like, the whole squad of institutions:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 132 of file dgtt01.f. periodt π
Author
Generated automatically by Doxygen for LAPACK from the source code. not me being auto-generated π
this whole page is from LAPACK, Version 3.12.0, and the manual page date is just TESTING/LIN/dgtt01.f(3) β so like, that's the vibe check done and dusted β¨ππ¦
hope that helped bestie, now go reconstruct those tridiagonal matrices and slay πππ
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms