47 exp->DetShapeType(), *exp);
49 exp->DetShapeType(), *exp);
51 exp->DetShapeType(), *exp);
57 BOOST_REQUIRE_EQUAL(bwd->GetRows(), exp->GetTotPoints());
58 BOOST_REQUIRE_EQUAL(bwd->GetColumns(), exp->GetNcoeffs());
59 BOOST_REQUIRE_EQUAL(invBwd->GetRows(), exp->GetNcoeffs());
60 BOOST_REQUIRE_EQUAL(invBwd->GetColumns(), exp->GetTotPoints());
61 BOOST_REQUIRE_EQUAL(invIProd->GetRows(), exp->GetTotPoints());
62 BOOST_REQUIRE_EQUAL(invIProd->GetColumns(), exp->GetNcoeffs());
65 DNekMat identity = (*invBwd) * (*bwd);
67 for (
unsigned int i = 0; i < identity.GetRows(); ++i)
69 for (
unsigned int j = 0; j < identity.GetColumns(); ++j)
71 const NekDouble expected = i == j ? 1.0 : 0.0;
72 BOOST_CHECK_SMALL(std::abs(*identity(i, j) - expected), epsilon);
76 for (
unsigned int i = 0; i < invBwd->GetRows(); ++i)
78 for (
unsigned int j = 0; j < invBwd->GetColumns(); ++j)
80 BOOST_CHECK_SMALL(std::abs(*(*invIProd)(j, i) - *(*invBwd)(i, j)),