Cholesky decomposition (>= GSL1.10)¶ ↑
A symmetric, positive definite square matrix A
has a Cholesky
decomposition into a product of a lower triangular matrix L
and its transpose L^T
. This is sometimes referred to as taking
the squareroot of a matrix. The Cholesky decomposition can only be carried
out when all the eigenvalues of the matrix are positive. This decomposition
can be used to convert the linear system A x = b
into a pair
of triangular systems L y = b, L^T x = y
, which can be solved
by forward and backsubstitution.

GSL::Linalg::Complex::Cholesky::decomp(A)

GSL::Linalg::Complex::cholesky_decomp(A)
Factorize the positivedefinite square matrix
A
into the Cholesky decompositionA = L L^H
. On input only the diagonal and lowertriangular part of the matrixA
are needed. The diagonal and lower triangular part of the returned matrix contain the matrixL
. The upper triangular part of the returned matrix contains L^T, and the diagonal terms being identical for both L and L^T. If the input matrix is not positivedefinite then the decomposition will fail, returning the error codeGSL::EDOM
.

GSL::Linalg::Complex::Cholesky::solve(chol, b, x)

GSL::Linalg::Complex::cholesky_solve(chol, b, x)
Solve the system
A x = b
using the Cholesky decomposition ofA
into the matrixchol
given byGSL::Linalg::Complex::Cholesky::decomp
.

GSL::Linalg::Complex::Cholesky::svx(chol, x)

GSL::Linalg::Complex::cholesky_svx(chol, x)
Solve the system
A x = b
inplace using the Cholesky decomposition ofA
into the matrixchol
given byGSL::Linalg::Complex::Cholesky::decomp
. On inputx
should contain the righthand sideb
, which is replaced by the solution on output.