22#include <../AlinaLib.h>
23#include "SampleProblemCommon.h"
29 std::vector<double> val;
30 std::vector<double> rhs;
32 int n = sample_problem(12l, val, col, ptr, rhs);
36 AlinaLib::params_set_int(prm,
"precond.coarse_enough", 1000);
37 AlinaLib::params_set_string(prm,
"precond.coarsening.type",
"smoothed_aggregation");
38 AlinaLib::params_set_float(prm,
"precond.coarsening.aggr.eps_strong", 1e-3f);
39 AlinaLib::params_set_string(prm,
"precond.relax.type",
"spai0");
41 AlinaLib::params_set_string(prm,
"solver.type",
"bicgstabl");
42 AlinaLib::params_set_int(prm,
"solver.L", 1);
43 AlinaLib::params_set_int(prm,
"solver.maxiter", 100);
47 AlinaLib::params_destroy(prm);
49 std::vector<double> x(n, 0);
53 std::fill(x.begin(), x.end(), 0);
54 cnv = AlinaLib::solver_solve_matrix(
55 solver, ptr.data(), col.data(), val.data(),
56 rhs.data(), x.data());
58 std::cout <<
"Iterations: " << cnv.iterations << std::endl
59 <<
"Error: " << cnv.residual << std::endl;
61 AlinaLib::solver_destroy(solver);