DLARFG(3) generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H' * H = I

SYNOPSIS

SUBROUTINE DLARFG(
N, ALPHA, X, INCX, TAU )

    
INTEGER INCX, N

    
DOUBLE PRECISION ALPHA, TAU

    
DOUBLE PRECISION X( * )

PURPOSE

DLARFG generates a real elementary reflector H of order n, such that
          (   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' ) ,

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

ARGUMENTS

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