Rodin/Solver/UMFPack.h file

UMFPACK multifrontal sparse LU solver wrapper.

This header provides a wrapper for the UMFPACK solver from SuiteSparse, a high-performance direct solver for general sparse matrices using multifrontal LU factorization.

Algorithm

UMFPACK computes:

\[ PAQ = LU \]

where $ P $ and $ Q $ are permutation matrices, $ L $ is lower triangular, and $ U $ is upper triangular. The multifrontal method processes the matrix using an assembly tree for efficiency.

Applicability

  • General sparse matrices (non-symmetric, non-positive definite)
  • Large-scale problems
  • Circuit simulation
  • Structural analysis
  • Computational fluid dynamics

Usage Example

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

Solver::UMFPack solver(problem);
solver.solve();