ZGEQR2(3)
π ZGEQR2(3) β the glow-up for your complex matrix, bestie
Okay so this is the manual page for ZGEQR2, straight out of the LAPACK source forest at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgeqr2.f. Yes the path is long, yes it's iconic, we move. π«Ά
β¨ SYNOPSIS β¨
So you call it like this, periodt:
subroutine ZGEQR2 (m, n, a, lda, tau, work, info)
And what does it do? Lowkey the most important thing:
ZGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm.
That's the whole vibe. Calculator said: factorize. π§
πΈ Function/Subroutine Documentation πΈ
subroutine ZGEQR2 (integer m, integer n, complex*16, dimension( lda, * ) a,
integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * )
work, integer info)
ZGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm.
π PURPOSE π
Bestie, get this: ZGEQR2 computes a QR factorization of a complex m-by-n matrix A:
A = Q * ( R ),
( 0 )
where:
Qis am-by-morthogonal matrix;Ris an upper-triangularn-by-nmatrix;0is a(m-n)-by-nzero matrix, ifm > n.
It's giving decomposition main character energy, fr fr. π₯
π PARAMETERS π
Every one of them, we don't skip. No gatekeeping here. π
MβMisINTEGER. It's literally the number of rows of the matrixA. Constraint:M >= 0.NβNisINTEGER. The number of columns of the matrixA. Constraint:N >= 0.AβAisCOMPLEX*16 array, dimension(LDA,N).- On entry: the
mbynmatrixA. - On exit: the elements on and above the diagonal of the array contain the
min(m,n)bynupper trapezoidal matrixR(Ris upper triangular ifm >= n); the elements below the diagonal, with the arrayTAU, represent the unitary matrixQas a product of elementary reflectors (see Further Details β scroll down bestie).
- On entry: the
LDAβLDAisINTEGER. The leading dimension of the arrayA. Constraint:LDA >= max(1,M).TAUβTAUisCOMPLEX*16 array, dimension(min(M,N)). The scalar factors of the elementary reflectors (see Further Details).WORKβWORKisCOMPLEX*16 array, dimension(N). That's it, that's the tweet.INFOβINFOisINTEGER.= 0: successful exit, slay β¨< 0: ifINFO = -i, thei-th argument had an illegal value. So like, something you passed was sus. π
π¦ AUTHOR π¦
Shoutout to the institutions that made this happen, no cap:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π FURTHER DETAILS π
Okay so this is the part where it gets real. Pay attention, iykyk.
The matrix Q is represented as a product of elementary reflectors:
Q = H(1) H(2) . . . H(k), where k = min(m,n).
Each H(i) has the form:
H(i) = I - tau * v * v**H
where tau is a complex scalar, and v is a complex vector with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and tau in TAU(i).
Beautiful, iconic, no notes. π
π DEFINITION π
Definition at line 129 of file zgeqr2.f. Yes, we clocked the line number, bestie. π
π SIGN-OFF π
This cute little page was generated automatically by Doxygen for LAPACK from the source code. It's LAPACK, Version 3.12.0, dated /home/abui...RC/zgeqr2.f(3). Bye bestie, go factorize 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