21 #ifndef GSLPP_MULTIMIN_HH 22 #define GSLPP_MULTIMIN_HH 26 #include <gsl/gsl_multimin.h> 52 static double f(
const gsl_vector * x,
void * params);
59 static void df(
const gsl_vector * x,
void * params, gsl_vector * g);
66 static void fdf(
const gsl_vector * x,
void * params,
double * f, gsl_vector * g);
68 operator gsl_multimin_function_fdf*();
72 virtual double do_f(
const Vector& x) = 0;
75 gsl_multimin_function_fdf m_func;
84 CFDFMinimizer(PProblem p,
const gsl_multimin_fdfminimizer_type *ot);
92 void set_g_tol(
double tol);
97 void set_stop_eps(
double tol);
107 struct CFDFMinimizerImpl *impl;
134 static double f(
const gsl_vector * x,
void * params);
136 operator gsl_multimin_function*();
140 virtual double do_f(
const Vector& x) = 0;
141 gsl_multimin_function m_func;
150 CFMinimizer(PProblem p,
const gsl_multimin_fminimizer_type *ot);
161 struct CFMinimizerImpl *impl;
std::shared_ptr< Problem > PProblem
std::shared_ptr< Problem > PProblem