SimplicialLDLT.h file
Simplicial LDLT Cholesky factorization for sparse SPD matrices.
This header provides the SimplicialLDLT solver class, which implements Cholesky decomposition without square root for symmetric positive definite sparse matrices.
Algorithm
The solver computes:
where is unit lower triangular and is diagonal. This variant avoids square root operations, improving numerical stability.
Applicability
- Symmetric positive definite sparse matrices
- When numerical stability is a concern
- Problems requiring higher precision
- Systems where LLT might encounter numerical issues
Usage Example
Problem problem(u, v); problem = Integral(Grad(u), Grad(v)) - Integral(f, v); Solver::SimplicialLDLT solver(problem); solver.solve();
Namespaces
- namespace Rodin
- The Rodin library for Shape and Topology Optimization.
- namespace Rodin::Solver
- Module for linear algebra systems.
Classes
-
template<class Scalar>class Rodin::Solver::SimplicialLDLT<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
- Simplicial LDLT Cholesky factorization without square root.