SparseLU.h file
Sparse LU factorization solver.
This header provides the SparseLU solver class, which implements sparse supernodal LU factorization for general (non-symmetric) matrices using Eigen's SparseLU solver.
Algorithm
The solver performs LU decomposition:
where is a permutation matrix for numerical stability, is lower triangular, and is upper triangular.
Applicability
- General sparse matrices (non-symmetric)
- Problems where iterative solvers fail to converge
- Small to medium-sized systems
Usage Example
Problem problem(u, v); problem = Integral(beta * Grad(u), Grad(v)) + Integral(gamma * u, v) - Integral(f, v); Solver::SparseLU 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::SparseLU<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
- Sparse supernodal LU factorization solver for general sparse matrices.