larfg(3)

πŸ’… larfg β€” Householder Reflector Generator ✨

okay bestie, so this is larfg from the LAPACK library β€” it's the family of routines that build your elementary reflector (aka the Householder matrix) πŸŽ€. There's not one but four of them, one for each flavour of numbers, and honestly? they're all iconic in their own way. Let's get into it πŸ’–


✨ SYNOPSIS ✨

🌸 Functions

  • subroutine clarfg (n, alpha, x, incx, tau) β€” CLARFG generates an elementary reflector (Householder matrix).
  • subroutine dlarfg (n, alpha, x, incx, tau) β€” DLARFG generates an elementary reflector (Householder matrix).
  • subroutine slarfg (n, alpha, x, incx, tau) β€” SLARFG generates an elementary reflector (Householder matrix).
  • subroutine zlarfg (n, alpha, x, incx, tau) β€” ZLARFG generates an elementary reflector (Householder matrix).

πŸ¦‹ Detailed Description

(this section is just vibing here as a heading, no extra lore, moving on πŸ’…)


πŸ‘‘ Function Documentation

🌈 subroutine clarfg (integer n, complex alpha, complex, dimension( * ) x, integer incx, complex tau)

CLARFG generates an elementary reflector (Householder matrix).

πŸ’œ Purpose:

!>
!> CLARFG generates a complex elementary reflector H of order n, such
!> that
!>
!>       H**H * ( alpha ) = ( beta ),   H**H * H = I.
!>              (   x   )   (   0  )
!>
!> where alpha and beta are scalars, with beta real, and x is an
!> (n-1)-element complex vector. H is represented in the form
!>
!>       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.
!>
!> If the elements of x are all zero and alpha is real, then tau = 0
!> and H is taken to be the unit matrix.
!>
!> Otherwise  1 <= real(tau) <= 2  and  abs(tau-1) <= 1 .
!>

🧚 Parameters

  • N
!>          N is INTEGER
!>          The order of the elementary reflector.
!>
  • ALPHA
!>          ALPHA is COMPLEX
!>          On entry, the value alpha.
!>          On exit, it is overwritten with the value beta.
!>
  • X
!>          X is COMPLEX array, dimension
!>                         (1+(N-2)*abs(INCX))
!>          On entry, the vector x.
!>          On exit, it is overwritten with the vector v.
!>
  • INCX
!>          INCX is INTEGER
!>          The increment between elements of X. INCX > 0.
!>
  • TAU
!>          TAU is COMPLEX
!>          The value tau.
!>

⭐ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 105 of file clarfg.f. πŸ’€


🌸 subroutine dlarfg (integer n, double precision alpha, double precision, dimension( * ) x, integer incx, double precision tau)

DLARFG generates an elementary reflector (Householder matrix).

πŸ’œ Purpose:

!>
!> DLARFG generates a real elementary reflector H of order n, such
!> that
!>
!>       H * ( alpha ) = ( beta ),   H**T * 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 v**T ) ,
!>                     ( 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.
!>

🧚 Parameters

  • N
!>          N is INTEGER
!>          The order of the elementary reflector.
!>
  • ALPHA
!>          ALPHA is DOUBLE PRECISION
!>          On entry, the value alpha.
!>          On exit, it is overwritten with the value beta.
!>
  • X
!>          X is DOUBLE PRECISION array, dimension
!>                         (1+(N-2)*abs(INCX))
!>          On entry, the vector x.
!>          On exit, it is overwritten with the vector v.
!>
  • INCX
!>          INCX is INTEGER
!>          The increment between elements of X. INCX > 0.
!>
  • TAU
!>          TAU is DOUBLE PRECISION
!>          The value tau.
!>

⭐ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 105 of file dlarfg.f. πŸ’€


πŸŽ€ subroutine slarfg (integer n, real alpha, real, dimension( * ) x, integer incx, real tau)

SLARFG generates an elementary reflector (Householder matrix).

πŸ’œ Purpose:

!>
!> SLARFG generates a real elementary reflector H of order n, such
!> that
!>
!>       H * ( alpha ) = ( beta ),   H**T * 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 v**T ) ,
!>                     ( 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.
!>

🧚 Parameters

  • N
!>          N is INTEGER
!>          The order of the elementary reflector.
!>
  • ALPHA
!>          ALPHA is REAL
!>          On entry, the value alpha.
!>          On exit, it is overwritten with the value beta.
!>
  • X
!>          X is REAL array, dimension
!>                         (1+(N-2)*abs(INCX))
!>          On entry, the vector x.
!>          On exit, it is overwritten with the vector v.
!>
  • INCX
!>          INCX is INTEGER
!>          The increment between elements of X. INCX > 0.
!>
  • TAU
!>          TAU is REAL
!>          The value tau.
!>

⭐ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 105 of file slarfg.f. πŸ’€


πŸ”₯ subroutine zlarfg (integer n, complex*16 alpha, complex*16, dimension( * ) x, integer incx, complex*16 tau)

ZLARFG generates an elementary reflector (Householder matrix).

πŸ’œ Purpose:

!>
!> ZLARFG generates a complex elementary reflector H of order n, such
!> that
!>
!>       H**H * ( alpha ) = ( beta ),   H**H * H = I.
!>              (   x   )   (   0  )
!>
!> where alpha and beta are scalars, with beta real, and x is an
!> (n-1)-element complex vector. H is represented in the form
!>
!>       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.
!>
!> If the elements of x are all zero and alpha is real, then tau = 0
!> and H is taken to be the unit matrix.
!>
!> Otherwise  1 <= real(tau) <= 2  and  abs(tau-1) <= 1 .
!>

🧚 Parameters

  • N
!>          N is INTEGER
!>          The order of the elementary reflector.
!>
  • ALPHA
!>          ALPHA is COMPLEX*16
!>          On entry, the value alpha.
!>          On exit, it is overwritten with the value beta.
!>
  • X
!>          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.
!>
  • INCX
!>          INCX is INTEGER
!>          The increment between elements of X. INCX > 0.
!>
  • TAU
!>          TAU is COMPLEX*16
!>          The value tau.
!>

⭐ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 105 of file zlarfg.f. πŸ’€


🌟 Author

Generated automatically by Doxygen for LAPACK from the source code.


🫢 and that's the whole thing bestie β€” four routines, one job, zero notes. LAPACK Version 3.12.0, page dated from the larfg(3) era. go off, linear algebra girlie πŸ’…βœ¨
πŸ“¦ where this page comes from