TESTING/LIN/sqrt03.f(3)
π TESTING/LIN/sqrt03.f π
okay bestie, welcome to the group chat of LAPACK test files β the manual name is TESTING/LIN/sqrt03.f and honestly it's giving "humble little Fortran file that does the most". let's get into it π
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines
subroutine sqrt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result)β the one and only,SQRT03itself π«Ά
π Function/Subroutine Documentation π
πΈ the actual signature (no cap, type it right)
subroutine sqrt03 (integer m, integer n, integer k, real, dimension( lda, *
) af, real, dimension( lda, * ) c, real, dimension( lda, * ) cc, real,
dimension( lda, * ) q, integer lda, real, dimension( * ) tau, real,
dimension( lwork ) work, integer lwork, real, dimension( * ) rwork,
real, dimension( * ) result)
SQRT03 β that's the name, and yes she's iconic π
β Purpose β
okay so SQRT03 tests SORMQR, which computes Q*C, Q'*C, C*Q or C*Q'. literally its whole job π
and then β this is the best part β SQRT03 compares the results of a call to SORMQR with the results of forming Q explicitly by a call to SORGQR and then performing matrix multiplication by a call to SGEMM. two techniques, one vibe check, whoever disagrees loses π«Ά
π Parameters π
MβM is INTEGER. the order of the orthogonal matrixQ.M >= 0. main character energy fr β¨NβN is INTEGER. the number of rows or columns of the matrixC;Cism-by-nifQis applied from the left, orn-by-mifQis applied from the right.N >= 0. pick a side bestie πKβK is INTEGER. the number of elementary reflectors whose product defines the orthogonal matrixQ.M >= K >= 0. sandwiched, but like, respectfully πAFβAF is REAL array, dimension (LDA,N). details of the QR factorization of anm-by-nmatrix, as returned bySGEQRF. seeSGEQRFfor further details πCβC is REAL array, dimension (LDA,N). that's it, that's the description, she said what she said πCCβCC is REAL array, dimension (LDA,N). same energy, different name πQβQ is REAL array, dimension (LDA,M). and here'sQliving her best life,(LDA,M)π¦LDAβLDA is INTEGER. the leading dimension of the arraysAF,C,CC, andQ. all four. she's the group mom π₯TAUβTAU is REAL array, dimension (min(M,N)). the scalar factors of the elementary reflectors corresponding to the QR factorization inAF. tiny but crucial πΈWORKβWORK is REAL array, dimension (LWORK). the workspace. the grind. the behind-the-scenes queen πLWORKβLWORK is INTEGER. the length ofWORK.LWORKmust be at leastM, and should beM*NB, whereNBis the blocksize for this environment. note the "should" bestie, don't come for me πRWORKβRWORK is REAL array, dimension (M). no note, just vibes β¨RESULTβRESULT is REAL array, dimension (4). the test ratios compare two techniques for multiplying a random matrixCby anm-by-morthogonal matrixQ. and here's the receipts:
RESULT(1) = norm( Q*C - Q*C ) / ( M * norm(C) * EPS )
RESULT(2) = norm( C*Q - C*Q ) / ( M * norm(C) * EPS )
RESULT(3) = norm( Q'*C - Q'*C )/ ( M * norm(C) * EPS )
RESULT(4) = norm( C*Q' - C*Q' )/ ( M * norm(C) * EPS )
four ratios, four chances to slay π β¨
π§ Author π§
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
absolute legends, all of them π«Ά
Definition at line 134 of file sqrt03.f. β yes, line one-three-four, go look, she's there π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. not a human, just a very diligent little robot doing her thing π€β¨
and that's the whole page bestie!! LAPACK, Version 3.12.0 β mwah, drink some water, and remember: the vibe changes, the facts do not ππΈπ¦π
π¦ 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