ZQRT02(3)
β¨ NAME β¨
Okay so this is the zqrt02.f(3) page, and it lives in the Library Functions Manual β yes bestie, that's the manual-name vibe check. The NAME line is literally this path:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zqrt02.f
πΈ SYNOPSIS πΈ
β¨ Functions/Subroutines β¨
subroutine ZQRT02 (m, n, k, a, af, q, r, lda, tau, work, lwork, rwork,
result)
ZQRT02
π Function/Subroutine Documentation π
Here's the full signature, copied exactly because we do not mess with types, periodt:
subroutine ZQRT02 (integer m, integer n, integer k, complex*16, dimension(
lda, * ) a, complex*16, dimension( lda, * ) af, complex*16, dimension(
lda, * ) q, complex*16, dimension( lda, * ) r, integer lda, complex*16,
dimension( * ) tau, complex*16, dimension( lwork ) work, integer lwork,
double precision, dimension( * ) rwork, double precision, dimension( * )
result)
ZQRT02
π Purpose π
Okay so ZQRT02 is the test bestie for ZUNGQR. ZUNGQR generates an m-by-n matrix Q with orthonormal columns that is defined as the product of k elementary reflectors β and ZQRT02 is here to vibe-check that.
Given the QR factorization of an m-by-n matrix A, ZQRT02 generates the orthogonal matrix Q defined by the factorization of the first k columns of A. Then it compares R(1:n,1:k) with Q(1:m,1:n)'*A(1:m,1:k), and checks that the columns of Q are orthonormal. Iconic behavior, honestly. π₯
π Parameters π
MβMisINTEGER. It's the number of rows of the matrixQto be generated. Constraint:M >= 0. π«ΆNβNisINTEGER. It's the number of columns of the matrixQto be generated. Constraint:M >= N >= 0.KβKisINTEGER. It's the number of elementary reflectors whose product defines the matrixQ. Constraint:N >= K >= 0.AβAisCOMPLEX*16array, dimension(LDA,N). It's them-by-nmatrixAwhich was factorized byZQRT01.AFβAFisCOMPLEX*16array, dimension(LDA,N). It holds details of the QR factorization ofA, as returned byZGEQRF. SeeZGEQRFfor further details.QβQisCOMPLEX*16array, dimension(LDA,N). πRβRisCOMPLEX*16array, dimension(LDA,N). πLDAβLDAisINTEGER. It's the leading dimension of the arraysA,AF,QandR. Constraint:LDA >= M.TAUβTAUisCOMPLEX*16array, dimension(N). It holds the scalar factors of the elementary reflectors corresponding to the QR factorization inAF.WORKβWORKisCOMPLEX*16array, dimension(LWORK). β¨LWORKβLWORKisINTEGER. It's the dimension of the arrayWORK.RWORKβRWORKisDOUBLE PRECISIONarray, dimension(M). πΈRESULTβRESULTisDOUBLE PRECISIONarray, dimension(2). It holds the test ratios:RESULT(1) = norm( R - 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 133 of file zqrt02.f.
π Author π β yes, again, because the page said it twice and we keep every detail, bestie
Generated automatically by Doxygen for LAPACK from the source code.
That's the whole page! Source/version vibes: LAPACK Version 3.12.0. Footer path: /home/abui...IN/zqrt02.f(3). Date on the footer: not shown, so no date to spill, ngl. Stay iconic and keep every path and formula exactly as written. π
β¨π
π¦ 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