85 std::ostream& out = std::cout,
86 const double relTol = Teuchos::as<double>(1.0e-8))
88 out << std::scientific;
89 auto x_regress = x_n->clone_v();
91 Thyra::DetachedVectorView<double> x_regress_view(*x_regress);
92 x_regress_view[0] = Teuchos::as<double>(-1.59496108218721311);
93 x_regress_view[1] = Teuchos::as<double>( 0.96359412806611255);
96 auto x_error = x_n->clone_v();
97 Thyra::V_VmV(x_error.ptr(), *x_n, *x_regress);
99 const double x_L2norm_error = Thyra::norm_2(*x_error);
100 const double x_L2norm_regress = Thyra::norm_2(*x_regress);
101 const double relError = x_L2norm_error / x_L2norm_regress;
103 out <<
"Relative L2 Norm of the error (regression) = "
104 << relError << std::endl;
106 if (x_L2norm_error > relTol * x_L2norm_regress) {
107 out <<
"FAILED regression constraint!" << std::endl;
150 const double (&x_n)[N],
151 std::ostream& out = std::cout,
152 const double relTol = Teuchos::as<double>(1.0e-8))
154 Teuchos::RCP<const Thyra::VectorSpaceBase<double> > xSpace =
155 Thyra::defaultSpmdVectorSpace<double>(N);
156 Teuchos::RCP<Thyra::VectorBase<double> > x_vec = Thyra::createMember(xSpace);
158 Thyra::DetachedVectorView<double> x_view(*x_vec);
159 for (
int i = 0; i < N; ++i)
bool tutorialRegressionTest(const Teuchos::RCP< Thyra::VectorBase< double > > &x_n, std::ostream &out=std::cout, const double relTol=Teuchos::as< double >(1.0e-8))
Regression check for the Tempus tutorial van der Pol examples.