Rodin/Solver/PartialPivLU.h file

Dense LU factorization solver with partial pivoting.

This header provides the PartialPivLU solver class, which implements dense LU factorization for general square matrices using Eigen's PartialPivLU solver.

Algorithm

The solver computes

\[ A = P^{-1} L U \]

or equivalently

\[ P A = L U \]

where $ P $ is a permutation matrix, $ L $ is unit lower triangular, and $ U $ is upper triangular.

Applicability

  • General dense square matrices
  • Non-symmetric systems
  • Newton systems with dense Jacobians

Notes

  • This solver does not assume symmetry.
  • Eigen's PartialPivLU assumes the matrix is square and invertible.
  • If rank deficiency is possible and must be handled robustly, FullPivLU is safer.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::FormLanguage
Namespace Rodin::FormLanguage.
namespace Rodin::Solver
Namespace Rodin::Solver.

Classes

template<class LinearSystem>
struct Rodin::FormLanguage::Traits<Solver::PartialPivLU<LinearSystem>>
Form-language traits for PartialPivLU solvers.
template<class Scalar>
class Rodin::Solver::PartialPivLU<Math::LinearSystem<Math::Matrix<Scalar>, Math::Vector<Scalar>>>
Dense LU factorization solver with partial pivoting for general matrices.