/home/abui.../zlarfgp.f(3)
π ZLARFGP β bestie, let me tell you about this iconic Householder reflector generator β¨
Okay so like, this is the manpage for that one file tucked away at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlarfgp.f β yes the whole path, she's long but she's worth it π
β¨ SYNOPSIS β¨
π«Ά Functions/Subroutines
subroutine ZLARFGP (n, alpha, x, incx, tau)β okay so this baddie generates an elementary reflector (aka a Householder matrix) with non-negative beta. Periodt. π
πΈ Function/Subroutine Documentation πΈ
π¦ subroutine ZLARFGP (integer n, complex*16 alpha, complex*16, dimension( * ) x, integer incx, complex*16 tau)
So like, ZLARFGP generates a complex elementary reflector H of order n, such that β and I'm literally quoting the math here because she's giving main character energy:
H**H * ( alpha ) = ( beta ), H**H * H = I.
( x ) ( 0 )
Where alpha and beta are scalars, beta is real and non-negative, and x is an (n-1)-element complex vector. And H is represented in the form β no cap:
H = I - tau * ( 1 ) * ( 1 v**H ) ,
( v )
Where tau is a complex scalar and v is a complex (n-1)-element vector. β οΈ Note that H is NOT hermitian β like, she's complex, she's not symmetric, she's living her truth π
And bestie, listen: if the elements of x are all zero AND alpha is real, then tau = 0 and H is taken to be the unit matrix. Slay, that's the identity moment. β¨
π Purpose π
It's giving... the whole point is generating that complex elementary reflector of order n so that the transformation above holds, with beta real and non-negative, and H non-hermitian (fr fr, she's not hermitian). π
π Parameters π
Nβ isINTEGER. The order of the elementary reflector. Like, how big she is. πALPHAβ isCOMPLEX*16. On entry, the valuealpha. On exit, it is overwritten with the valuebeta. She gets a glow-up on the way out, no cap. π₯Xβ isCOMPLEX*16array, dimension(1+(N-2)*abs(INCX)). On entry, the vectorx. On exit, it is overwritten with the vectorv. Another iconic transformation tbh. π¦INCXβ isINTEGER. The increment between elements ofX.INCX > 0. Just a lil step size, nothing crazy. β¨TAUβ isCOMPLEX*16. The valuetau. That's it, that's the whole vibe. π
π Author π
Univ. of Tennessee π, Univ. of California Berkeley π, Univ. of Colorado Denver π, NAG Ltd. β the whole squad that made this happen. π
Definition at line 103 of file zlarfgp.f.
Okay so that's the whole thing bestie, and for the cute sign-off: this iconic page was generated automatically by Doxygen for LAPACK from the source code, because even manpages deserve a little automation moment. LAPACK, Version 3.12.0 π Stay slay, and remember β H is not hermitian, and neither are we. πβ¨π«Ά
π¦ 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