Next: Householder solver for linear systems, Previous: Givens Rotations, Up: Linear Algebra [Index]
A Householder transformation is a rank-1 modification of the identity matrix which can be used to zero out selected elements of a vector. A Householder matrix P takes the form,
P = I - \tau v v^T
where v is a vector (called the Householder vector) and \tau = 2/(v^T v). The functions described in this section use the rank-1 structure of the Householder matrix to create and apply Householder transformations efficiently.
This function prepares a Householder transformation P = I - \tau v v^T which can be used to zero all the elements of the input vector w except the first. On output the Householder vector v is stored in w and the scalar \tau is returned. The householder vector v is normalized so that v[0] = 1, however this 1 is not stored in the output vector. Instead, w[0] is set to the first element of the transformed vector, so that if u = P w, w[0] = u[0] on output and the remainder of u is zero.
This function applies the Householder matrix P defined by the scalar tau and the vector v to the left-hand side of the matrix A. On output the result P A is stored in A.
This function applies the Householder matrix P defined by the scalar tau and the vector v to the right-hand side of the matrix A. On output the result A P is stored in A.
This function applies the Householder transformation P defined by the scalar tau and the vector v to the vector w. On output the result P w is stored in w.
Next: Householder solver for linear systems, Previous: Givens Rotations, Up: Linear Algebra [Index]