IDRS.h file
IDRS(s) solver for (generally) non-symmetric linear systems.
This header provides the IDRS(s) (Induced Dimension Reduction) solver class, an iterative method for solving linear systems:
for general (possibly non-symmetric) matrices.
IDR(s) is typically competitive with BiCGSTAB/GMRES for certain nonsymmetric problems, with short recurrences and modest memory footprint.
Notes
- This implementation uses Eigen's unsupported IDRS.
Usage Example
Solver::IDRS solver(problem); solver.setTolerance(1e-10).setMaxIterations(1000).setS(8).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::IDRS<Math::LinearSystem<Math::SparseMatrix<Scalar>, Math::Vector<Scalar>>>
- IDRS(s) solver for sparse systems.
-
template<class Scalar>class Rodin::Solver::IDRS<Math::LinearSystem<Math::Matrix<Scalar>, Math::Vector<Scalar>>>
- IDRS(s) solver for dense systems.