TESTING/EIG/dstt21.f(3)
π TESTING/EIG/dstt21.f π
okay so this is a page from the Library Functions Manual β yes, that's the actual manual name, it's giving very "official docs" energy β and it's all about one lil subroutine that does a vibe check on your matrix decomposition. no cap, she's a tester, and she's judging you (lovingly). π«Ά
β¨ NAME β¨
TESTING/EIG/dstt21.f β that's her, that's the whole name, iconic and to the point π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine dstt21 (n, kband, ad, ae, sd, se, u, ldu, work, result)
DSTT21 π (that's literally all the synopsis says about her and honestly? mysterious queen behavior)
π Function/Subroutine Documentation π
subroutine dstt21 (integer n, integer kband, double precision, dimension( * )
ad, double precision, dimension( * ) ae, double precision, dimension( * ) sd,
double precision, dimension( * ) se, double precision, dimension( ldu, * ) u,
integer ldu, double precision, dimension( * ) work, double precision,
dimension( 2 ) result)
DSTT21 β¨
πΈ Purpose πΈ
bestie. listen. DSTT21 checks a decomposition of the form
A = U S U'
where ' means transpose, A is symmetric tridiagonal, U is orthogonal, and S is diagonal (if KBAND=0) or symmetric tridiagonal (if KBAND=1). she runs two tests, because one is never enough:
RESULT(1) = | A - U S U' | / ( |A| n ulp )
RESULT(2) = | I - UU' | / ( n ulp )
like, accuracy queen fr fr ππ₯
π Parameters π
NβNisINTEGER. the size of the matrix. if it's zero,DSTT21does nothing (respect honestly, she's not doing unpaid labor π). it must be at least zero.KBANDβKBANDisINTEGER. the bandwidth of the matrixS. it may only be zero or one β no in-between, no chaos, we stay on the binary. if zero, thenSis diagonal andSEis not referenced. if one, thenSis symmetric tri-diagonal.ADβADisDOUBLE PRECISIONarray, dimension(N). the diagonal of the original (unfactored) matrixA.Ais assumed to be symmetric tridiagonal. she's the main character πAEβAEisDOUBLE PRECISIONarray, dimension(N-1). the off-diagonal of the original (unfactored) matrixA.Ais assumed to be symmetric tridiagonal.AE(1)is the(1,2)and(2,1)element,AE(2)is the(2,3)and(3,2)element, etc. β yes she repeats herself because symmetry DID that πSDβSDisDOUBLE PRECISIONarray, dimension(N). the diagonal of the (symmetric tri-) diagonal matrixS. cute, simple, diagonal.SEβSEisDOUBLE PRECISIONarray, dimension(N-1). the off-diagonal of the (symmetric tri-) diagonal matrixS. not referenced ifKBSND=0(yes, that's literally what it says βKBSND, notKBAND, that's not me, that's the source, iykyk π). ifKBAND=1, thenAE(1)is the(1,2)and(2,1)element,SE(2)is the(2,3)and(3,2)element, etc. (also exactly what it says βAE(1)andSE(2), don't come for me π)UβUisDOUBLE PRECISIONarray, dimension(LDU, N). the orthogonal matrix in the decomposition. she's orthogonal, she's unbothered, she's at a right angle to your nonsense πLDUβLDUisINTEGER. the leading dimension ofU.LDUmust be at leastN. no shortcuts bestie.WORKβWORKisDOUBLE PRECISIONarray, dimension(N*(N+1)). it's the workspace, she's just there to hold stuff π§RESULTβRESULTisDOUBLE PRECISIONarray, dimension(2). the values computed by the two tests described above. the values are currently limited to1/ulp, to avoid overflow β yes, capped, we don't do overflow in this house π₯.RESULT(1)is always modified.
β οΈ quick reality check:RESULT(1)being always modified is stated as fact, and the1/ulplimit is a real constraint, not a suggestion. don't assume anything else about these fields beyond what's written above, okay? π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
all of them. a whole collab. a group project that actually worked ππ
Definition at line 125 of file dstt21.f.
β Author (yes, again) β
Generated automatically by Doxygen for LAPACK from the source code. so technically the author of this page is a robot π€ she's doing her best.
and that's the whole page, bestie! π π
sign-off: this gorgeous lil doc is LAPACK, Version 3.12.0, and it lives at TESTING/EIG/dstt21.f(3) β go off, queen πΈβ¨π¦
π¦ 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