Skip to content
Snippets Groups Projects
Commit 0f431739 authored by Tobias Leibner's avatar Tobias Leibner
Browse files

[test.la.saddlepoint] add HAVE_EIGEN guard

parent 43883bd3
No related branches found
No related tags found
No related merge requests found
......@@ -165,53 +165,55 @@ GTEST_TEST(SaddlePointSolver, test_direct)
DXTC_EXPECT_FLOAT_EQ(0., (p - data.expected_p_).l2_norm(), 1e-12, 1e-12);
}
GTEST_TEST(SaddlePointSolver, test_direct_eigen)
GTEST_TEST(SaddlePointSolver, test_cg_direct_schurcomplement)
{
using Matrix = XT::LA::EigenRowMajorSparseMatrix<double>;
using Vector = XT::LA::EigenDenseVector<double>;
using Matrix = XT::LA::IstlRowMajorSparseMatrix<double>;
using Vector = XT::LA::IstlDenseVector<double>;
SaddlePointTestData<Matrix, Vector> data;
XT::LA::SaddlePointSolver<Vector, Matrix> solver(data.A_, data.B_, data.B_, data.C_);
Vector u(data.f_.size()), p(data.g_.size());
solver.apply(data.f_, data.g_, u, p, "direct");
solver.apply(data.f_, data.g_, u, p, "cg_direct_schurcomplement");
DXTC_EXPECT_FLOAT_EQ(0., (u - data.expected_u_).l2_norm(), 1e-12, 1e-12);
DXTC_EXPECT_FLOAT_EQ(0., (p - data.expected_p_).l2_norm(), 1e-12, 1e-12);
}
GTEST_TEST(SaddlePointSolver, test_cg_direct_schurcomplement)
GTEST_TEST(SaddlePointSolver, test_cg_cg_schurcomplement)
{
using Matrix = XT::LA::IstlRowMajorSparseMatrix<double>;
using Vector = XT::LA::IstlDenseVector<double>;
SaddlePointTestData<Matrix, Vector> data;
XT::LA::SaddlePointSolver<Vector, Matrix> solver(data.A_, data.B_, data.B_, data.C_);
Vector u(data.f_.size()), p(data.g_.size());
solver.apply(data.f_, data.g_, u, p, "cg_direct_schurcomplement");
solver.apply(data.f_, data.g_, u, p, "cg_cg_schurcomplement");
DXTC_EXPECT_FLOAT_EQ(0., (u - data.expected_u_).l2_norm(), 1e-12, 1e-12);
DXTC_EXPECT_FLOAT_EQ(0., (p - data.expected_p_).l2_norm(), 1e-12, 1e-12);
}
# if HAVE_EIGEN
GTEST_TEST(SaddlePointSolver, test_cg_direct_schurcomplement_eigen)
GTEST_TEST(SaddlePointSolver, test_direct_eigen)
{
using Matrix = XT::LA::EigenRowMajorSparseMatrix<double>;
using Vector = XT::LA::EigenDenseVector<double>;
SaddlePointTestData<Matrix, Vector> data;
XT::LA::SaddlePointSolver<Vector, Matrix> solver(data.A_, data.B_, data.B_, data.C_);
Vector u(data.f_.size()), p(data.g_.size());
solver.apply(data.f_, data.g_, u, p, "cg_direct_schurcomplement");
solver.apply(data.f_, data.g_, u, p, "direct");
DXTC_EXPECT_FLOAT_EQ(0., (u - data.expected_u_).l2_norm(), 1e-12, 1e-12);
DXTC_EXPECT_FLOAT_EQ(0., (p - data.expected_p_).l2_norm(), 1e-12, 1e-12);
}
GTEST_TEST(SaddlePointSolver, test_cg_cg_schurcomplement)
GTEST_TEST(SaddlePointSolver, test_cg_direct_schurcomplement_eigen)
{
using Matrix = XT::LA::IstlRowMajorSparseMatrix<double>;
using Vector = XT::LA::IstlDenseVector<double>;
using Matrix = XT::LA::EigenRowMajorSparseMatrix<double>;
using Vector = XT::LA::EigenDenseVector<double>;
SaddlePointTestData<Matrix, Vector> data;
XT::LA::SaddlePointSolver<Vector, Matrix> solver(data.A_, data.B_, data.B_, data.C_);
Vector u(data.f_.size()), p(data.g_.size());
solver.apply(data.f_, data.g_, u, p, "cg_cg_schurcomplement");
solver.apply(data.f_, data.g_, u, p, "cg_direct_schurcomplement");
DXTC_EXPECT_FLOAT_EQ(0., (u - data.expected_u_).l2_norm(), 1e-12, 1e-12);
DXTC_EXPECT_FLOAT_EQ(0., (p - data.expected_p_).l2_norm(), 1e-12, 1e-12);
}
#endif
# endif // HAVE_EIGEN
#endif // HAVE_DUNE_ISTL
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment