TESTING/EIG/sget51.f(3)
π TESTING/EIG/sget51.f π
okay bestie, this is the Library Functions Manual page for TESTING/EIG/sget51.f β yes, the whole file path is the name, we don't make the rules. It's giving LAPACK testing-core energy. π¦
β¨ NAME β¨
TESTING/EIG/sget51.f β the SGET51 test routine, and honestly that's the whole name section. Short, iconic, no notes. π
π SYNOPSIS π
Functions/Subroutines
subroutine sget51 (itype, n, a, lda, b, ldb, u, ldu, v, ldv, work, result)
SGET51
π Function/Subroutine Documentation π
subroutine sget51 (integer itype, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b, integer ldb, real, dimension( ldu, * ) u, integer ldu, real, dimension( ldv, * ) v, integer ldv, real, dimension( * ) work, real result)
SGET51
π¦ Purpose π¦
The source doc block has a !> on basically every line β that's just the Fortran doc-comment aesthetic β¨ β but the actual tea is this: SGET51 generally checks a decomposition of the form
A = U B V'
where ' means transpose and U and V are orthogonal. No cap. π
Specifically, if ITYPE=1:
RESULT = | A - U B V' | / ( |A| n ulp )
If ITYPE=2, then:
RESULT = | A - B | / ( |A| n ulp )
If ITYPE=3, then:
RESULT = | I - UU' | / ( n ulp )
That's the whole vibe check. π«Ά
πΈ Parameters πΈ
ITYPEβITYPEisINTEGER. It specifies the type of tests to be performed. The levels are:=1:RESULT = | A - U B V' | / ( |A| n ulp )=2:RESULT = | A - B | / ( |A| n ulp )=3:RESULT = | I - UU' | / ( n ulp )
NβNisINTEGER. It's the size of the matrix. If it is zero,SGET51does nothing (respectfully, it clocks out). It must be at least zero.AβAis aREALarray, dimension(LDA, N). It's the original (unfactored) matrix.LDAβLDAisINTEGER. It's the leading dimension ofA. It must be at least1and at leastN.BβBis aREALarray, dimension(LDB, N). It's the factored matrix.LDBβLDBisINTEGER. It's the leading dimension ofB. It must be at least1and at leastN.UβUis aREALarray, dimension(LDU, N). It's the orthogonal matrix on the left-hand side in the decomposition. Not referenced ifITYPE=2.LDUβLDUisINTEGER. It's the leading dimension ofU.LDUmust be at leastNand at least1.VβVis aREALarray, dimension(LDV, N). It's the orthogonal matrix on the left-hand side in the decomposition. Not referenced ifITYPE=2.LDVβLDVisINTEGER. It's the leading dimension ofV.LDVmust be at leastNand at least1.WORKβWORKis aREALarray, dimension(2*N**2).RESULTβRESULTisREAL. These are the values computed by the test specified byITYPE. The value is currently limited to1/ulp, to avoid overflow. Errors are flagged byRESULT=10/ulp.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 147 of file sget51.f.
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code. Doxygen really said βIβll do it myself.β π
okay bestie, that's the page π source/version: LAPACK Version 3.12.0; footer page: TESTING/EIG/sget51.f(3). The footer date is not listed, so I'm not inventing one β we don't do fanfic facts here. Bye π«Άβ¨
π¦ 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