DQLT02(3)
okay bestie, this is DQLT02(3) from the Library Functions Manual β¨ β header folded in, vibe check passed, and yes we are about to read a LAPACK test subroutine page together. π«Ά
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/dqlt02.f
That's the file path, exactly, no cap. π
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines π¦
subroutine DQLT02 (m, n, k, a, af, q, l, lda, tau, work, lwork, rwork, result)β the main character subroutine, and then the source just saysDQLT02again right under it, iconic.
subroutine DQLT02 (m, n, k, a, af, q, l, lda, tau, work, lwork, rwork,
result)
DQLT02
π Function/Subroutine Documentation π
π« subroutine DQLT02 π«
Here's the full typed signature, character for character, because we do not play fast and loose with Fortran signatures:
subroutine DQLT02 (integer m, integer n, integer k, double precision,
dimension( lda, * ) a, double precision, dimension( lda, * ) af, double
precision, dimension( lda, * ) q, double precision, dimension( lda, * )
l, integer lda, double precision, dimension( * ) tau, double precision,
dimension( lwork ) work, integer lwork, double precision, dimension( * )
rwork, double precision, dimension( * ) result)
And the title line after it is just DQLT02, because the source said so. Slay. π
πΈ Purpose πΈ
bestie, here's the tea: DQLT02 tests DORGQL. DORGQL generates an m-by-n matrix Q with orthonormal columns that is defined as the product of k elementary reflectors. π₯
Given the QL factorization of an m-by-n matrix A, DQLT02 generates the orthogonal matrix Q defined by the factorization of the last k columns of A. Then it compares L(m-n+1:m,n-k+1:n) with Q(1:m,m-n+1:m)'*A(1:m,n-k+1:n), and checks that the columns of Q are orthonormal. It's giving orthonormal excellence, fr fr. π¦
π Parameters π
MβINTEGER. The number of rows of the matrixQto be generated.M >= 0.NβINTEGER. The number of columns of the matrixQto be generated.M >= N >= 0.KβINTEGER. The number of elementary reflectors whose product defines the matrixQ.N >= K >= 0.AβDOUBLE PRECISIONarray, dimension(LDA,N). The m-by-n matrixAwhich was factorized byDQLT01.AFβDOUBLE PRECISIONarray, dimension(LDA,N). Details of the QL factorization ofA, as returned byDGEQLF. SeeDGEQLFfor further details.QβDOUBLE PRECISIONarray, dimension(LDA,N). That's the whole note, bestie β no extra lore.LβDOUBLE PRECISIONarray, dimension(LDA,N). Same energy: just the array and its dimension.LDAβINTEGER. The leading dimension of the arraysA,AF,QandL.LDA >= M.TAUβDOUBLE PRECISIONarray, dimension(N). The scalar factors of the elementary reflectors corresponding to the QL factorization inAF.WORKβDOUBLE PRECISIONarray, dimension(LWORK). Short and sweet, just like the source says.LWORKβINTEGER. The dimension of the arrayWORK.RWORKβDOUBLE PRECISIONarray, dimension(M). Another one where the source keeps it minimal.RESULTβDOUBLE PRECISIONarray, dimension(2). The test ratios:RESULT(1) = norm( L - Q'*A ) / ( M * norm(A) * EPS )RESULT(2) = norm( I - Q'*Q ) / ( M * EPS )
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 134 of file dqlt02.f.
β Author β
Generated automatically by Doxygen for LAPACK from the source code. Automation ate, no cap. π
cute sign-off bestie: this is LAPACK Version 3.12.0, footer tag /home/abui...IN/dqlt02.f(3), and the original doesn't list a date β so I'm not inventing one, periodt. πβ¨
π¦ 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