Previous: dlarfb Up: ../lapack-d.html Next: dlarft

# dlarfg

```
NAME
DLARFG - generate 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 overwrit-
ten 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.
```