Type-erased linear solver with templated scalar type. More...
#include <memory>
#include <type_traits>
#include <variant>
#include <dune/common/exceptions.hh>
#include <Eigen/Core>
#include <Eigen/SparseCore>
#include <ikarus/utils/makeenum.hh>
Go to the source code of this file.
Classes | |
class | Ikarus::LinearSolverTemplate< ST > |
A type-erased class which wraps most of the linear solvers available in Eigen. More... | |
Namespaces | |
namespace | Ikarus |
Typedefs | |
using | Ikarus::LinearSolver = LinearSolverTemplate< double > |
Enumerations | |
enum class | Ikarus::SolverTypeTag { Ikarus::BEGIN , Ikarus::none , Ikarus::si_ConjugateGradient , Ikarus::si_LeastSquaresConjugateGradient , Ikarus::si_BiCGSTAB , Ikarus::sd_SimplicialLLT , Ikarus::sd_SimplicialLDLT , Ikarus::sd_SparseLU , Ikarus::sd_SparseQR , Ikarus::sd_CholmodSupernodalLLT , Ikarus::sd_UmfPackLU , Ikarus::sd_SuperLU , Ikarus::d_PartialPivLU , Ikarus::d_FullPivLU , Ikarus::d_HouseholderQR , Ikarus::d_ColPivHouseholderQR , Ikarus::d_FullPivHouseholderQR , Ikarus::d_CompleteOrthogonalDecomposition , Ikarus::d_LLT , Ikarus::d_LDLT , Ikarus::END } |
Enumeration representing different solver types. More... | |
enum class | Ikarus::MatrixTypeTag { Ikarus::Dense , Ikarus::Sparse } |
Enumeration representing different matrix types (Dense or Sparse). More... | |
Functions | |
constexpr std::string | Ikarus::toString (SolverTypeTag _e) |