SRC/dlarfg.f(3)
π SRC/dlarfg.f β dlarfg(3), from the LAPACK gang
okay so bestie, welcome to SRC/dlarfg.f(3) β yes that's the file name, that's the whole NAME section, she's lowkey mysterious like that. This page lives in the Library Functions Manual and it's all about one lil subroutine that does one big slay. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine dlarfg (n, alpha, x, incx, tau)
DLARFG generates an elementary reflector (Householder matrix). That's her whole personality, and honestly? Iconic. π
π¦ Function/Subroutine Documentation π¦
subroutine dlarfg (integer n, double precision alpha, double precision,
dimension( * ) x, integer incx, double precision tau)
DLARFG generates an elementary reflector (Householder matrix). Fr fr, that's what she does.
π Purpose:
!> !> DLARFG generates a real elementary reflector H of order n, such !> that !> !> H * ( alpha ) = ( beta ), HT * H = I. !> ( x ) ( 0 ) !> !> where alpha and beta are scalars, and x is an (n-1)-element real !> vector. H is represented in the form !> !> H = I - tau * ( 1 ) * ( 1 vT ) , !> ( v ) !> !> where tau is a real scalar and v is a real (n-1)-element !> vector. !> !> If the elements of x are all zero, then tau = 0 and H is taken to be !> the unit matrix. !> !> Otherwise 1 <= tau <= 2. !>
so like. she takes your alpha and your x, and she builds a real elementary reflector H of order n that annihilates x β sends it straight to zero town while alpha becomes beta. And H**T * H = I, meaning she's orthogonal, meaning she's that girl. πΈ
She stores H compactly as H = I - tau * ( 1 ) * ( 1 v**T ) with the vector v tucked underneath, tau a real scalar, v a real (n-1)-element vector.
And if every single element of x is zero (respect the introverts π«Ά), then tau = 0 and H is just the unit matrix β nothing to see here. Otherwise 1 <= tau <= 2. No cap.
π Parameters
NβN is INTEGER, the order of the elementary reflector. Like, how big is she.ALPHAβALPHA is DOUBLE PRECISION. On entry, the valuealpha. On exit, it's overwritten with the valuebeta(yes bestie she will eat your input, that's the deal π).XβX is DOUBLE PRECISION array, dimension (1+(N-2)*abs(INCX)). On entry, the vectorx. On exit, it's overwritten with the vectorv. Same energy, new contents. β¨INCXβINCX is INTEGER, the increment between elements ofX.INCX > 0β that's not optional, that's a requirement. mind the constraint bestie.TAUβTAU is DOUBLE PRECISION, the valuetau. she's the scalar main character.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 105 of file dlarfg.f.
β Author
Generated automatically by Doxygen for LAPACK from the source code. (not a human, a robot, and she ate π )
that's the whole page babes β LAPACK Version 3.12.0, page SRC/dlarfg.f(3), and yeah the automagic generator did the authoring so don't come for me about the prose. mwah, go householder something π§π
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms