ZUNGQR(3)
π ZUNGQR(3) β the glow-up your Q matrix deserves β¨
Okay bestie, so this page is for zungqr.f from the LAPACK source. The full path situation is giving very "buried in a build directory" energy:
/home/abui...RC/zungqr.f(3)
and the actual source lives at:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zungqr.f
She's cute, she's Fortran, and she's about to build you a whole orthonormal squad. Let's get into it π«Ά
β¨ SYNOPSIS β¨
Functions / Subroutines π
subroutine ZUNGQR (m, n, k, a, lda, tau, work, lwork, info)β ZUNGQR, the main character.
π Function / Subroutine Documentation π
subroutine ZUNGQR (integer m, integer n, integer k, complex*16, dimension(
lda, * ) a, integer lda, complex*16, dimension( * ) tau, complex*16,
dimension( * ) work, integer lwork, integer info)
ZUNGQR (yes, her full name again, she's like that).
πΈ Purpose πΈ
Lowkey iconic: ZUNGQR generates an M-by-N complex matrix Q with orthonormal columns. That's right β orthonormal. Her columns ate and left no crumbs.
Q is defined as the first N columns of a product of K elementary reflectors of order M, and that product is exactly this:
Q = H(1) H(2) . . . H(k)
β¦as returned by ZGEQRF. So yes, bestie, ZGEQRF did the messy work and ZUNGQR is the one who shows up with the finished lewk π
β Parameters β
Buckle up, we're going through every single one β no skips, fr fr.
MβMis INTEGER. The number of rows of the matrixQ. Constraint:M >= 0. Easy.NβNis INTEGER. The number of columns of the matrixQ. Constraint:M >= N >= 0. Keep it in that window, babes.KβKis INTEGER. The number of elementary reflectors whose product defines the matrixQ. Constraint:N >= K >= 0. Girl group size matters, respect the bounds πAβAis COMPLEX*16 array, dimension(LDA,N).- On entry, the
i-th column must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byZGEQRFin the firstkcolumns of its array argumentA. - On exit, the
M-by-NmatrixQ. Glow-up complete. She literally transforms in place π
- On entry, the
LDAβLDAis INTEGER. The first dimension of the arrayA. Constraint:LDA >= max(1,M). Respect the leading dimension, it's not optional.TAUβTAUis COMPLEX*16 array, dimension(K).TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned byZGEQRF. The tiny but crucial ingredient. Seasoning, if you will πWORKβWORKis COMPLEX*16 array, dimension(MAX(1,LWORK)). On exit, ifINFO = 0, thenWORK(1)returns the optimalLWORK. She's giving helpful and self-aware β¨LWORKβLWORKis INTEGER. The dimension of the arrayWORK. Constraint:LWORK >= max(1,N).- For optimum performance:
LWORK >= N*NB, whereNBis the optimal blocksize. - If
LWORK = -1, then a workspace query is assumed π΅οΈββοΈ the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA. So yes,-1is the "just tell me how much room I need" hack and she won't yell at you for it.
- For optimum performance:
INFOβINFOis INTEGER.= 0: successful exit. slay π< 0: ifINFO = -i, thei-th argument has an illegal value. Someone fumbled the bag, andINFOis here to tell you exactly which argument it was π
π Author π
The whole academic dream team on this one:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π§ Definition π§
Definition at line 127 of file zungqr.f. Yes, a specific line. Very precise queen behavior.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. It literally wrote itself, we're just vibing with it π
π« cute sign-off π«
This is LAPACK Version 3.12.0, living out of /home/abui...RC/zungqr.f(3) β go forth, build your orthonormal Q, and remember: M >= N >= K >= 0, bestie. 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