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
τ 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
H∗x = β(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