13#include "MantidCurveFitting/DllConfig.h"
15#include <gsl/gsl_multimin.h>
18namespace CurveFitting {
19namespace FuncMinimisers {
35 std::string
name()
const override {
return "Simplex"; }
37 bool iterate(
size_t)
override;
39 double costFunctionVal()
override;
44 void resetSize(
const double &size);
51 static double fun(
const gsl_vector *x,
void *params);
An interface for function minimizers.
Implementing Simplex by wrapping the IFuncMinimizer interface around the GSL implementation of this a...
gsl_vector * m_simplexStepSize
used by GSL
gsl_multimin_fminimizer * m_gslSolver
pointer to the GSL solver doing the work
double m_epsabs
Absolute value of the error that is considered a fit.
gsl_vector * m_startGuess
Starting parameter values.
std::string name() const override
Overloading base class methods.
gsl_multimin_function gslContainer
GSL simplex minimizer container.
double m_size
size of simplex
API::ICostFunction_sptr m_costFunction
Function to minimize.
std::shared_ptr< ICostFunction > ICostFunction_sptr
define a shared pointer to a cost function
Helper class which provides the Collimation Length for SANS instruments.