Next: Householder solver for linear systems, Previous: Bidiagonalization, 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.

- Function:
*double***gsl_linalg_householder_transform***(gsl_vector **`v`) - Function:
*gsl_complex***gsl_linalg_complex_householder_transform***(gsl_vector_complex **`v`) 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 except the first. On output the transformation is stored in the vector`v`and the scalar*\tau*is returned.

- Function:
*int***gsl_linalg_householder_hm***(double*`tau`, const gsl_vector *`v`, gsl_matrix *`A`) - Function:
*int***gsl_linalg_complex_householder_hm***(gsl_complex*`tau`, const gsl_vector_complex *`v`, gsl_matrix_complex *`A`) 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`.

- Function:
*int***gsl_linalg_householder_mh***(double*`tau`, const gsl_vector *`v`, gsl_matrix *`A`) - Function:
*int***gsl_linalg_complex_householder_mh***(gsl_complex*`tau`, const gsl_vector_complex *`v`, gsl_matrix_complex *`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`.

- Function:
*int***gsl_linalg_householder_hv***(double*`tau`, const gsl_vector *`v`, gsl_vector *`w`) - Function:
*int***gsl_linalg_complex_householder_hv***(gsl_complex*`tau`, const gsl_vector_complex *`v`, gsl_vector_complex *`w`) 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: Bidiagonalization, Up: Linear Algebra [Index]