Go to the first, previous, next, last section, table of contents.

Tridiagonal Decomposition of Real Symmetric Matrices

A symmetric matrix @math{A} can be factorized by similarity transformations into the form,

where @math{Q} is an orthogonal matrix and @math{T} is a symmetric tridiagonal matrix.

Function: int gsl_linalg_symmtd_decomp (gsl_matrix * A, gsl_vector * tau)
This function factorizes the symmetric square matrix A into the symmetric tridiagonal decomposition @math{Q T Q^T}. On output the diagonal and subdiagonal part of the input matrix A contain the tridiagonal matrix @math{T}. The remaining lower triangular part of the input matrix contains the Householder vectors which, together with the Householder coefficients tau, encode the orthogonal matrix @math{Q}. This storage scheme is the same as used by LAPACK. The upper triangular part of A is not referenced.

Function: int gsl_linalg_symmtd_unpack (const gsl_matrix * A, const gsl_vector * tau, gsl_matrix * Q, gsl_vector * d, gsl_vector * sd)
This function unpacks the encoded symmetric tridiagonal decomposition (A, tau) obtained from gsl_linalg_symmtd_decomp into the orthogonal matrix Q, the vector of diagonal elements d and the vector of subdiagonal elements sd.

Function: int gsl_linalg_symmtd_unpack_dsd (const gsl_matrix * A, gsl_vector * d, gsl_vector * sd)
This function unpacks the diagonal and subdiagonal of the encoded symmetric tridiagonal decomposition (A, tau) obtained from gsl_linalg_symmtd_decomp into the vectors d and sd.


Go to the first, previous, next, last section, table of contents.