ESMF_DLARFG Subroutine

subroutine ESMF_DLARFG(N, ALPHA, X, INCX, TAU)

\brief \b ESMF_DLARFG \htmlonly Download ESMF_DLARFG + dependencies [TGZ] [ZIP] [TXT] \endhtmlonly \par Purpose:

\verbatim

ESMF_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. \endverbatim \param[in] N \verbatim N is INTEGER The order of the elementary reflector. \endverbatim

\param[in,out] ALPHA \verbatim ALPHA is DOUBLE PRECISION On entry, the value alpha. On exit, it is overwritten with the value beta. \endverbatim

\param[in,out] X \verbatim 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. \endverbatim

\param[in] INCX \verbatim INCX is INTEGER The increment between elements of X. INCX > 0. \endverbatim

\param[out] TAU \verbatim TAU is DOUBLE PRECISION The value tau. \endverbatim \author Univ. of Tennessee \author Univ. of California Berkeley \author Univ. of Colorado Denver \author NAG Ltd. \date November 2011 \ingroup doubleOTHERauxiliary

Arguments

Type IntentOptional Attributes Name
integer :: N
double precision :: ALPHA
double precision :: X(*)
integer :: INCX
double precision :: TAU