version 0.4.1
linearsolver.hh File Reference

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>

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::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
}
 Enumeration representing different solver types. More...
 
enum class  Ikarus::MatrixTypeTag { Ikarus::Dense , Ikarus::Sparse }
 Enumeration representing different matrix types (Dense or Sparse). More...