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
41template<
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> >
76template<
class T,
class M>
87template<
class T,
class M>
99template <
class T,
class M>
105 return new_macro (rep(*
this));
see the csr page for the full documentation
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
see the vec page for the full documentation
This file is part of Rheolef.