Generate Householder transform

F_SGEN_HOUSE/F_DGEN_HOUSE/F_CGEN_HOUSE/F_ZGEN_HOUSE

Name F_SGEN_HOUSE/F_DGEN_HOUSE/F_CGEN_HOUSE/F_ZGEN_HOUSE Generate Householder transform

Purpose F_xGEN_HOUSE generates an elementary reflector H of order n, s such that

H α = β and HH = I

x0

where α and β are scalars, and x is an (n - 1)-element vector. β is always a real scalar. H is represented in the following form:

H= I τ υ1 (1 υT )

where τ is a scalar and υ is an (n - 1)-element vector. τ is called the Householder

scalar and 1 the Householder vector.

υ

Note that when x is a complex vector, H is not Hermitian. If the elements of x are zero, and α is real, then τ is equal to zero and H is the unit matrix. Otherwise, the real part of τ is greater than or equal to one, and less than or equal to two. Moreover, the absolute value of the quantity (τ - 1) is less than or equal to one.

On exit, the scalar argument alpha is overwritten with the value of the scalar β. Similarly, the vector argument x is overwritten with the vector v. If n is less than or equal to zero, this function returns immediately with the output scalar tau set to zero.

Chapter 2 Basic Vector Operations 175