STRT01(3)
π STRT01(3) π
okay bestie, welcome to the LAPACK corner of the Library Functions Manual β yes, that's the manual we're in, and yes it's as dramatic as it sounds π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/strt01.f
like... that's the whole name. it's a path. it's giving "my parents named me after the street I was born on" π but that's literally it, no cap π«Ά
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine STRT01 (uplo, diag, n, a, lda, ainv, ldainv, rcond, work, resid)β the whole squad, assembled. also just...STRT01. that's the vibe π¦
π Function/Subroutine Documentation π
subroutine STRT01 (character uplo, character diag, integer n, real,
dimension( lda, * ) a, integer lda, real, dimension( ldainv, * ) ainv,
integer ldainv, real rcond, real, dimension( * ) work, real resid)
STRT01 π (yes the exact same name again, she said "I'm the main character" and honestly? correct.)
π₯ Purpose π₯
!>!> STRT01 computes the residual for a triangular matrix A times its!> inverse:!> RESID = norm( A*AINV - I ) / ( N * norm(A) * norm(AINV) * EPS ),!> where EPS is the machine epsilon.!>
so bestie, it's a vibe check on your triangular matrix inverse π β it measures how far off A*AINV is from the identity, scaled by N, norm(A), norm(AINV) and EPS (the machine epsilon). tiny resid = slay. big resid = π
π Parameters π
UPLOβUPLO is CHARACTER*1. tells us which triangle ofAis the real one:= 'U': Upper triangularor= 'L': Lower triangular. pick a side, icon πDIAGβDIAG is CHARACTER*1. isAunit triangular or not:= 'N': Non-unit triangular,= 'U': Unit triangular. no in-between, it's giving binary πNβN is INTEGER.The order of the matrix A. N >= 0.zero is allowed, queen of boundaries βAβA is REAL array, dimension (LDA,N).The triangular matrix A.and here's the lore: ifUPLO = 'U', the leading n by n upper triangular part of the arrayAcontains the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. ifUPLO = 'L', the leading n by n lower triangular part of the arrayAcontains the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. and ifDIAG = 'U', the diagonal elements ofAare also not referenced and are assumed to be1. so half your array is basically decorative, we love a low-effort icon πLDAβLDA is INTEGER.The leading dimension of the array A. LDA >= max(1,N).respect the constraint or perish π€AINVβAINV is REAL array, dimension (LDAINV,N).On entry, the (triangular) inverse of the matrix A, in the same storage format as A.On exit, the contents of AINV are destroyed.π« bestie she does NOT survive β she gets wrecked on the way out, that's not a bug that's canon. plan accordingly πLDAINVβLDAINV is INTEGER.The leading dimension of the array AINV. LDAINV >= max(1,N).same rules, different array, stay in your lane β¨RCONDβRCOND is REAL.The reciprocal condition number of A, computed as 1/(norm(A) * norm(AINV)).it's the "how trustworthy is this inverse" number, essentially π§WORKβWORK is REAL array, dimension (N). scratch space. does its job. leaves. king behavior π«ΆRESIDβRESID is REAL.norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ). that's the output, the final grade, the report card, the vibe check result π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
four whole institutions took credit for this one subroutine and honestly? teamwork makes the dream work π«Ά
Definition at line 122 of file strt01.f. go look, it's right there, line one-two-two, screenshot it π₯
β Author β
Generated automatically by Doxygen for LAPACK from the source code.
not me being auto-generated π no human wrote this prose, the machine did it, and the machine ate fr fr π€β¨
and that's the page, bestie!! little sign-off for the fine print: this is LAPACK, Version 3.12.0, and the header/footer date tag on the original was /home/abui...IN/strt01.f(3) β she abbreviates her own address, iconic ππ
go forth and compute 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