ZQRT11(3)
π ZQRT11 β like, the whole manual, but make it make sense
Hey bestie π«Ά so this page lives in the Library Functions Manual (yes, that's the manual name, we're folding it in up top like a cute lil hair clip). It's a (3) man page, and the function is ZQRT11. It's giving LAPACK testing energy, and honestly? Iconic.
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zqrt11.f
That's the file. That's literally the whole NAME section. Periodt. π (Yes, it's a path, and yes, you're gonna read it out loud in the group chat, sorry.)
β¨ SYNOPSIS β¨
Functions/Subroutines
double precision function ZQRT11 (m, k, a, lda, tau, work, lwork)
ZQRT11
π¦ Function/Subroutine Documentation π¦
double precision function ZQRT11 (integer m, integer k, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( * ) tau,
complex*16, dimension( lwork ) work, integer lwork)
ZQRT11
π Purpose π
okay so, bestie, pay attention, because this is the whole point of the function:
ZQRT11 computes the test ratio || Q'*Q - I || / (eps * m) where the orthogonal matrix Q is represented as a product of elementary transformations. Each transformation has the form H(k) = I - tau(k) v(k) v(k)' where tau(k) is stored in TAU(k) and v(k) is an m-vector of the form [ 0 ... 0 1 x(k) ]', where x(k) is a vector of length m-k stored in A(k+1:m,k).
Like, it's a test ratio β || Q'*Q - I || / (eps * m) β because Q should be orthogonal, and if Q'*Q isn't basically I, something is wrong, and this function is the one holding the mirror up. πͺβ¨ It's the vibe check of the QR world, fr fr.
π Parameters π
M
M is INTEGERThe number of rows of the matrix A.
So, like, how tall A is. π
K
K is INTEGERThe number of columns of A whose subdiagonal entriescontain information about orthogonal transformations.
i.e. how many columns are out here carrying the orthogonal-transformation lore. The subdiagonal entries are doing the heavy lifting, iykyk. π
A
A is COMPLEX*16 array, dimension (LDA,K)The (possibly partial) output of a QR reduction routine.
"Possibly partial" β she's a work in progress, and that's beautiful. π«Ά
LDA
LDA is INTEGERThe leading dimension of the array A.
The leading dimension, bestie. Don't skip it, don't question it. β
TAU
TAU is COMPLEX*16 array, dimension (K)The scaling factors tau for the elementary transformations ascomputed by the QR factorization routine.
The scaling factors, straight from the QR factorization routine's own hands. π
WORK
WORK is COMPLEX*16 array, dimension (LWORK)
That's it. That's the description. It's a workspace array of size LWORK and nobody asked it to be more interesting than that. π
LWORK
LWORK is INTEGERThe length of the array WORK. LWORK >= M*M + M.
β οΈ Important, no cap: LWORK >= M*M + M. That's the floor. Do not come in under that. π It's M*M + M and it's not a suggestion.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
(i.e. the whole squad co-signed this one. π)
Definition at line 97 of file zqrt11.f.
π§ Author (yes, again) π§
Generated automatically by Doxygen for LAPACK from the source code.
Like, nobody hand-wrote this page, the machine did it, and honestly it ate. π€β¨
π Sign-off π
This gorgeous lil page is LAPACK, Version 3.12.0 β and its footer path is /home/abui...IN/zqrt11.f(3), tucked in right there at the bottom like a signature on a love letter. π
Slay, bestie. Go orthogonalize something. π₯π
π¦ 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