49:
public DistributedDirectSolverBase<Backend, DistributedEigenSparseLUDirectSolver<Backend>>
51 using Base = DistributedDirectSolverBase<Backend, DistributedEigenSparseLUDirectSolver<Backend>>;
55 using value_type = Backend::value_type;
56 using EigenMatrix = Eigen::SparseMatrix<value_type, Eigen::ColMajor, int>;
58 typedef typename Solver::params params;
62 template <
class Matrix>
64 const params& prm = params())
67 static_cast<Base*
>(
this)->init(comm, A);
70 static size_t coarse_enough()
72 return Base::coarse_enough();
75 int comm_size(
int )
const
80 void init(mpi_communicator,
const build_matrix& A)
82 S = std::make_shared<Solver>(A, prm);
91 template <
class Vec1,
class Vec2>
92 void solve(
const Vec1& rhs, Vec2& x)
const
100 std::shared_ptr<Solver> S;