clarfg(3F)

CLARFG - generate a complex elementary reflector H of order n, such that H' * ( alpha ) = ( beta ), H' * H = I

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     CLARFG - generate a complex elementary reflector H of order n, such that
     H' * ( alpha ) = ( beta ), H' * H = I

SYNOPSIS
     SUBROUTINE CLARFG( N, ALPHA, X, INCX, TAU )

         INTEGER        INCX, N

         COMPLEX        ALPHA, TAU

         COMPLEX        X( * )

PURPOSE
     CLARFG generates a complex elementary reflector H of order n, such that
                (   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' ) ,
                         ( 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 .


ARGUMENTS
     N       (input) INTEGER
             The order of the elementary reflector.

     ALPHA   (input/output) COMPLEX
             On entry, the value alpha.  On exit, it is overwritten with the
             value beta.

     X       (input/output) COMPLEX 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) COMPLEX
             The value tau.