logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

larfg - larfg: generate Householder reflector

Author

Generated automatically by Doxygen for LAPACK from the source code. Version 3.12.0 Sun Jul 20 2025 01:40:05 larfg(3)

Detailed Description

Function Documentation

subroutineclarfg(integern,complexalpha,complex,dimension(*)x,integerincx,complextau)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 . ParametersN 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. subroutinedlarfg(integern,doubleprecisionalpha,doubleprecision,dimension(*)x,integerincx,doubleprecisiontau)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. ParametersN 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. subroutineslarfg(integern,realalpha,real,dimension(*)x,integerincx,realtau)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. ParametersN 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. subroutinezlarfg(integern,complex*16alpha,complex*16,dimension(*)x,integerincx,complex*16tau)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 . ParametersN 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.

Name

larfg - larfg: generate Householder reflector

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).

See Also