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
Module for writing high level abstract expressions.
namespace Rodin::Solver
Module for solving linear and nonlinear systems arising from finite element discretizations.

Classes

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.