1 #ifndef _RHEOLEF_SOLVER_EIGEN_H
2 #define _RHEOLEF_SOLVER_EIGEN_H
26 #include "rheolef/config.h"
28 #ifdef _RHEOLEF_HAVE_EIGEN
30 #include "rheolef/solver.h"
31 #pragma GCC diagnostic push
32 #pragma GCC diagnostic ignored "-Weffc++"
33 #include <Eigen/Sparse>
34 #pragma GCC diagnostic pop
41 template<
class T,
class M>
67 Eigen::SparseLU<Eigen::SparseMatrix<T,Eigen::ColMajor>, Eigen::COLAMDOrdering<int> >
69 Eigen::SimplicialLDLT<Eigen::SparseMatrix<T,Eigen::ColMajor>, Eigen::Lower, Eigen::AMDOrdering<int> >
76 template<
class T,
class M>
87 template<
class T,
class M>
99 template <
class T,
class M>
105 return new_macro (rep(*
this));
csr< T, M >::size_type size_type
determinant_type det() const
solver_eigen_rep(const csr< T, M > &a, const solver_option &opt=solver_option())
void update_values(const csr< T, M > &a)
base::size_type size_type
solver_abstract_rep< T, M > base
base::determinant_type determinant_type
Eigen::SparseLU< Eigen::SparseMatrix< T, Eigen::ColMajor >, Eigen::COLAMDOrdering< int > > _superlu_a
vec< T, M > trans_solve(const vec< T, M > &rhs) const
Eigen::SimplicialLDLT< Eigen::SparseMatrix< T, Eigen::ColMajor >, Eigen::Lower, Eigen::AMDOrdering< int > > _ldlt_a
solver_abstract_rep< T, M > * clone() const
vec< T, M > solve(const vec< T, M > &rhs) const
see the solver_option page for the full documentation
This file is part of Rheolef.