/home/abui.../zlarfgp.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… 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 β€” is INTEGER. The order of the elementary reflector. Like, how big she is. πŸ‘‘
  • ALPHA β€” is COMPLEX*16. On entry, the value alpha. On exit, it is overwritten with the value beta. She gets a glow-up on the way out, no cap. πŸ”₯
  • X β€” is COMPLEX*16 array, dimension (1+(N-2)*abs(INCX)). On entry, the vector x. On exit, it is overwritten with the vector v. Another iconic transformation tbh. πŸ¦‹
  • INCX β€” is INTEGER. The increment between elements of X. INCX > 0. Just a lil step size, nothing crazy. ✨
  • TAU β€” is COMPLEX*16. The value tau. 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