What you need to know to use vector subprograms

Representation of a Householder matrix

This section explains how the BLAS Standard represents a Householder matrix.

An elementary reflector (or elementary Householder matrix) H of order n is a unitary matrix of the form

H = I τυυH

where τ is a scalar, and υ is an n-vector, with

τ 2 υ 22 = 2 Re(τ)

υis often referred to as the Householder vector. Often, υ can have leading or trailing zero elements, but for the purposes of this discussion, assume that H has no special structure.

This representation sets υ1 = 1, meaning that υ1 need not be stored. In real arithmetic, 1 ≤ τ ≤ 2, except that τ = 0 implies H = I. This representation agrees with that used in LAPACK.

In complex arithmetic, τ may be complex, and satisfies

1 Re(τ) ≤ 2 and τ – 1 1

Thus a complex H is not Hermitian, as with other representations, but it is unitary. The latter is the important property. The advantage of allowing τ to be complex is that, given an arbitrary complex vector x, H can be computed so that

Hx = β(1, 0, …, 0)T

with real β. This is useful, for example, when reducing a complex Hermitian matrix to a real symmetric tridiagonal matrix, or a complex rectangular matrix to real bidiagonal form.

38HP MLIB User’s Guide