|GNU Scientific Library Reference Manual - Third Edition (v1.12)|
by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. Rossi
Paperback (6"x9"), 592 pages, 60 figures
RRP £24.95 ($39.95)
13.8 Hessenberg Decomposition of Real Matrices
A general real matrix A can be decomposed by orthogonal
similarity transformations into the form
A = U H U^T
where U is orthogonal and H is an upper Hessenberg matrix, meaning that it has zeros below the first subdiagonal. The Hessenberg reduction is the first step in the Schur decomposition for the nonsymmetric eigenvalue problem, but has applications in other areas as well.
- Function: int gsl_linalg_hessenberg_decomp (gsl_matrix * A, gsl_vector * tau)
- This function computes the Hessenberg decomposition of the matrix A by applying the similarity transformation H = U^T A U. On output, H is stored in the upper portion of A. The information required to construct the matrix U is stored in the lower triangular portion of A. U is a product of N - 2 Householder matrices. The Householder vectors are stored in the lower portion of A (below the subdiagonal) and the Householder coefficients are stored in the vector tau. tau must be of length N.
- Function: int gsl_linalg_hessenberg_unpack (gsl_matrix * H, gsl_vector * tau, gsl_matrix * U)
- This function constructs the orthogonal matrix U from the
information stored in the Hessenberg matrix H along with the
vector tau. H and tau are outputs from
- Function: int gsl_linalg_hessenberg_unpack_accum (gsl_matrix * H, gsl_vector * tau, gsl_matrix * V)
- This function is similar to
gsl_linalg_hessenberg_unpack, except it accumulates the matrix U into V, so that V' = VU. The matrix V must be initialized prior to calling this function. Setting V to the identity matrix provides the same result as
gsl_linalg_hessenberg_unpack. If H is order N, then V must have N columns but may have any number of rows.
- Function: int gsl_linalg_hessenberg_set_zero (gsl_matrix * H)
- This function sets the lower triangular portion of H, below
the subdiagonal, to zero. It is useful for clearing out the
Householder vectors after calling
|ISBN 0954612078||GNU Scientific Library Reference Manual - Third Edition (v1.12)||See the print edition|