Interactive Educational Modules in
Scientific Computing

Householder Transformations

This module demonstrates the construction of a Householder transformation to annihilate the second component of a vector in two dimensions. Given a vector a, the corresponding Householder transformation has the form H = I − 2 (vvT) ⁄ (vTv), where the Householder vector  v = aα e1, α is plus or minus the 2-norm of a, and e1 is the first column of the identity matrix. Geometrically, a Householder transformation reflects the vector a in a mirror that is orthogonal to the vector v by projecting a onto the mirror but going twice as far (hence the 2 in the formula for H ) in order to reach the coordinate axis, at which point the desired component of the transformed vector is zero.

The user first clicks on the graph to select a vector in the plane. The user then clicks on the successive buttons to draw an appropriate mirror, project the original vector onto the mirror, and then extend the projection twice as far to reach the first coordinate axis, at which point the second coordinate is zero and the 2-norm is preserved, as required. The user can select either positive or negative sign, which determines which of the two possible mirrors and vectors will result.

Reference: Michael T. Heath, Scientific Computing, An Introductory Survey, 2nd edition, McGraw-Hill, New York, 2002. See Section 3.5.1, especially Figure 3.3.

Developers: Nicholas Exner and Michael Heath