Tridiagonal Decomposition of Real Symmetric Matrices
A symmetric matrix A can be factorized by similarity
transformations into the form,
A = Q T Q^T
where Q is an orthogonal matrix and 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 Q T Q^T. On output the
diagonal and subdiagonal part of the input matrix A contain the
tridiagonal matrix 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
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 * diag, gsl_vector * subdiag)
-
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 diag
and the vector of subdiagonal elements subdiag.
- Function: int gsl_linalg_symmtd_unpack_T (const gsl_matrix * A, gsl_vector * diag, gsl_vector * subdiag)
-
This function unpacks the diagonal and subdiagonal of the encoded
symmetric tridiagonal decomposition (A, tau) obtained from
gsl_linalg_symmtd_decomp
into the vectors diag and subdiag.