10 #include <cppunit/extensions/HelperMacros.h>
11 #include <tst/Verify.h>
12 #include <utl/Minou.h>
19 #define EQUAL(x, y) CPPUNIT_ASSERT(Verify<Equal>(x, y))
26 double operator()(
const vector<double>& pars)
const
27 {
return utl::Sqr(pars.front() - 1); }
37 operator()(
const vector<double>& pars)
40 const double& x = pars[0];
41 const double& y = pars[1];
42 return 0.5*(
Sqr(x) +
Sqr(y)) +
Sqr(x)*y - (1/3.)*
Sqr(y)*y;
50 Polynomial(
const unsigned int n) { GetParameterDefs() = GenerateParameters(n); }
52 vector<Minou::ParameterDef>
55 vector<Minou::ParameterDef>
p;
56 for (
unsigned int i = 0; i <= n; ++i)
57 p.emplace_back(std::string(
"a") + std::to_string(i), 0, 1);
61 double operator()(
const vector<double>& pars) {
return pars.at(0); }
72 CPPUNIT_TEST(TestMyFunc);
73 CPPUNIT_TEST(TestHenonHeiles);
74 CPPUNIT_TEST(TestPolynomial);
75 CPPUNIT_TEST_SUITE_END();
88 const auto x = mini.GetParameterAndError(0);
89 cout << x.first <<
' ' << x.second << endl;
98 cout <<
"ok: failed first time" << endl;
109 << x <<
' ' << ex <<
' '
constexpr T Sqr(const T &x)
Simple polynomial container.
Polynomial(const unsigned int n)
double operator()(const vector< double > &pars)
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
vector< Minou::ParameterDef > GenerateParameters(const unsigned int n)
std::vector< ParameterDef > & GetParameterDefs()
int Minimize(const int n=500)