86#include "rheolef/solver.h"
87#ifdef _RHEOLEF_HAVE_EIGEN
88#pragma GCC diagnostic push
89#pragma GCC diagnostic ignored "-Weffc++"
90#include <Eigen/Sparse>
91#pragma GCC diagnostic pop
97template<
class T,
class M>
111 bool good()
const {
return true; }
129template<
class T,
class M>
134 _fill_factor(fill_factor),
140template<
class T,
class M>
145 _fill_factor(x._fill_factor),
146 _drop_tol(x._drop_tol),
152template <
class T,
class M>
154solver_abstract_rep<T,M>*
158 return new_macro (rep(*
this));
164template <
class T,
class M>
167 size_t fill_factor = 10,
168 T drop_tol = 1e3*std::numeric_limits<T>::epsilon());
171template <
class T,
class M>
177 p.solver_basic<
T,
M>::base::operator= (new_macro(rep(a,fill_factor,drop_tol)));
see the csr page for the full documentation
csr< T, M >::size_type size_type
solver_ilut_rep(const csr< T, M > &a, size_type fill_factor, T drop_tol)
Eigen::IncompleteLUT< T > _ilut_a
void update_values(const csr< T, M > &a)
base::size_type size_type
solver_abstract_rep< T, M > base
base::determinant_type determinant_type
solver_ilut_rep(const solver_ilut_rep &)
vec< T, M > trans_solve(const vec< T, M > &rhs) const
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
see the vec page for the full documentation
This file is part of Rheolef.
solver_basic< T, M > ilut(const csr< T, M > &a, size_t fill_factor=10, T drop_tol=1e3 *std::numeric_limits< T >::epsilon())