Provided by: liblapack-doc_3.3.1-1_all

**NAME**

LAPACK-3 - generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I

**SYNOPSIS**

SUBROUTINE ZLARFG( N, ALPHA, X, INCX, TAU ) INTEGER INCX, N COMPLEX*16 ALPHA, TAU COMPLEX*16 X( * )

**PURPOSE**

ZLARFG 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**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 .

**ARGUMENTS**

N (input) INTEGER The order of the elementary reflector. ALPHA (input/output) COMPLEX*16 On entry, the value alpha. On exit, it is overwritten with the value beta. X (input/output) COMPLEX*16 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*16 The value tau. LAPACK auxiliary routine (version 3.3.1) April 2011 ZLARFG(3lapack)