1 #ifndef TEST_SOLVERBASE_H 2 #define TEST_SOLVERBASE_H 4 template<
typename DstType,
typename RhsType,
typename MatrixType,
typename SolverType>
8 DstType
m2 = DstType::Random(cols,cols2);
9 RhsType m3 = matrix*
m2;
10 DstType solver_solution = DstType::Random(cols,cols2);
11 solver._solve_impl(m3, solver_solution);
13 solver_solution = DstType::Random(cols,cols2);
14 solver_solution = solver.solve(m3);
17 m3 = RhsType::Random(rows,cols2);
18 m2 = matrix.transpose()*m3;
19 RhsType solver_solution2 = RhsType::Random(rows,cols2);
20 solver.template _solve_impl_transposed<false>(
m2, solver_solution2);
22 solver_solution2 = RhsType::Random(rows,cols2);
23 solver_solution2 = solver.transpose().solve(m2);
26 m3 = RhsType::Random(rows,cols2);
27 m2 = matrix.adjoint()*m3;
28 solver_solution2 = RhsType::Random(rows,cols2);
29 solver.template _solve_impl_transposed<true>(
m2, solver_solution2);
31 solver_solution2 = RhsType::Random(rows,cols2);
32 solver_solution2 = solver.adjoint().solve(m2);
36 #endif // TEST_SOLVERBASE_H
BiCGSTAB< SparseMatrix< double > > solver
#define VERIFY_IS_APPROX(a, b)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Map< Matrix< T, Dynamic, Dynamic, ColMajor >, 0, OuterStride<> > matrix(T *data, int rows, int cols, int stride)
void check_solverbase(const MatrixType &matrix, const SolverType &solver, Index rows, Index cols, Index cols2)