Rodin/Solver/LDLT.h file

Robust LDLT Cholesky factorization for dense matrices.

This header provides the LDLT solver class for dense matrices, implementing Cholesky decomposition with pivoting for numerical stability.

Algorithm

The solver computes:

\[ PAP^T = LDL^T \]

where $ P $ is a permutation matrix, $ L $ is unit lower triangular, and $ D $ is diagonal. Pivoting improves numerical stability.

Applicability

  • Symmetric indefinite dense matrices
  • When numerical stability is critical
  • Small to medium-sized systems
  • Systems requiring robust factorization

Usage Example

Problem problem(u, v);
problem = Integral(Grad(u), Grad(v)) - Integral(f, v);

Solver::LDLT 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::LDLT<Math::LinearSystem<Math::Matrix<Scalar>, Math::Vector<Scalar>>>
Robust LDLT Cholesky factorization with pivoting for dense matrices.