CUNGRQ(3)
π CUNGRQ(3) β like, the Library Functions Manual, bestie β¨
okay so first things first, the manual name is Library Functions Manual and this page is about a file that lives way down in /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cungrq.f β yes THAT path, the whole entire thing, no cap π«Ά
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cungrq.f
that's it. that's the name. it's giving "the file speaks for itself" energy π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine CUNGRQ (m, n, k, a, lda, tau, work, lwork, info)
CUNGRQ β and that's literally what it is, a subroutine, iconic behavior π
π¦ Function/Subroutine Documentation π¦
subroutine CUNGRQ (integer m, integer n, integer k, complex, dimension( lda, * ) a, integer lda, complex, dimension( * ) tau, complex, dimension( * ) work, integer lwork, integer info)
CUNGRQ β say it with me, she's a subroutine, she's got types, she's got dimensions, she's got a whole personality π
π Purpose π
so here's the vibe check: CUNGRQ generates an M-by-N complex matrix Q with orthonormal rows, which is defined as the last M rows of a product of K elementary reflectors of order N β and the way that formula goes is:
Q = H(1)**H H(2)**H . . . H(k)**H
as returned by CGERQF. that's it. that's the whole job. she takes the leftovers from CGERQF and builds you a Q. slay π
π Parameters π
Mβ M is INTEGER. it's the number of rows of the matrix Q, andM >= 0. like, she needs rows, bestie, that's non-negotiable πNβ N is INTEGER. the number of columns of the matrix Q, withN >= M. columns always gotta be at least as many as the rows, that's just the math tea βKβ K is INTEGER. the number of elementary reflectors whose product defines the matrix Q, andM >= K >= 0. K's entire job is to count reflectors and stay in her lane πAβAis COMPLEX array, dimension(LDA,N). on entry, the(m-k+i)-th row must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byCGERQFin the last k rows of its array argumentA. on exit, the M-by-N matrix Q. so she arrives as reflector data and leaves as a whole entire Q β main character transformation arc, honestly πLDAβ LDA is INTEGER. the first dimension of the arrayA, andLDA >= max(1,M). respect the leading dimension or she will simply not respect you back πTAUβTAUis COMPLEX array, dimension(K).TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned byCGERQF. the little scalar bestie for every single reflector πWORKβWORKis COMPLEX array, dimension(MAX(1,LWORK)). on exit, ifINFO = 0,WORK(1)returns the optimalLWORK. she's a workspace and also a little messenger, multitasking queen πLWORKβ LWORK is INTEGER. the dimension of the arrayWORK.LWORK >= max(1,M). for optimum performanceLWORK >= M*NB, whereNBis the optimal blocksize.
ngl this next bit matters: ifLWORK = -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 don't be out here expecting a warning, because there isn't one, fr fr β οΈ
INFOβ INFO is INTEGER. she reports the results:= 0: successful exit β¨ ate, no notes< 0: ifINFO = -i, the i-th argument has an illegal value. somebody misbehaved and INFO is naming names π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad, credentialed and everything π«Ά
Definition at line 127 of file cungrq.f. β line one-two-seven, go look, she's really there π₯
β Author β
Generated automatically by Doxygen for LAPACK from the source code. so a robot wrote this page about her, which honestly is very on brand π€π
π okay that's the page!! footer tea real quick: this is LAPACK, Version 3.12.0, and it was written into /home/abui...RC/cungrq.f(3) β the path is literally abbreviated in the footer, not a typo, that's just how she's filed. bye bestie, go build your Q πβ¨π
π¦ 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