/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/minimization.hh Source File#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
minimization.hh
Go to the documentation of this file.
267 this->stop_reason = have_target ? "simplex collapsed short of the target" : "simplex size below tolerance";
double minimize()
Perform the minimization.
Definition minimization.hh:139
std::function< double(const std::array< double, 1 > &)> FUN_ARR
Definition minimization.hh:86
virtual std::array< double, 1 > minimize_impl()=0
void set_abs_tol(const double abs_tol)
Set the absolute tolerance for the minimization.
Definition minimization.hh:118
uint get_iter() const
Get the number of iterations used in the last minimization.
Definition minimization.hh:132
AbstractMinimizer(const FUN &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new AbstractMinimizer object.
Definition minimization.hh:96
void set_max_iter(const uint max_iter)
Set the maximum number of iterations.
Definition minimization.hh:125
AbstractMinimizer(const FUN_ARR &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new AbstractMinimizer object.
Definition minimization.hh:108
std::function< double(const double)> FUN
Definition minimization.hh:85
Abstract class for minimization in arbitrary dimensions.
Definition minimization.hh:26
void set_max_iter(const uint max_iter)
Set the maximum number of iterations.
Definition minimization.hh:55
std::function< double(const std::array< double, dim > &)> FUN
Definition minimization.hh:28
AbstractMinimizer(const FUN &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new AbstractMinimizer object.
Definition minimization.hh:38
uint get_iter() const
Get the number of iterations used in the last minimization.
Definition minimization.hh:62
void set_abs_tol(const double abs_tol)
Set the absolute tolerance for the minimization.
Definition minimization.hh:48
std::array< double, dim > minimize()
Perform the minimization.
Definition minimization.hh:69
virtual std::array< double, dim > minimize_impl()=0
Minimizer in 1D using either the golden section, Brent or quadratic method from GSL.
Definition minimization.hh:303
static double gsl_wrap(double x, void *params)
Definition minimization.hh:415
method
List of available minimization methods.
Definition minimization.hh:323
void set_bounds(const double min_x, const double max_x)
Set the bounds for the minimization.
Definition minimization.hh:338
void set_x0(const double x0)
Set the initial guess for the minimization.
Definition minimization.hh:330
void set_rel_tol(const double rel_tol)
Set the relative tolerance for the minimization. Default is 0.
Definition minimization.hh:356
GSLMinimizer1D(const FUN &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new GSLMinimizer1D object.
Definition minimization.hh:314
virtual std::array< double, 1 > minimize_impl() override
Definition minimization.hh:359
void set_method(const method m)
Set the minimization method. Default is Brent.
Definition minimization.hh:349
Minimizer using the Nelder-Mead simplex algorithm from GSL.
Definition minimization.hh:157
virtual std::array< double, dim > minimize_impl() override
Definition minimization.hh:222
const std::string & get_stop_reason() const
Why the search stopped, for logging.
Definition minimization.hh:210
static double gsl_wrap(const gsl_vector *v, void *params)
Definition minimization.hh:212
void set_x0(const std::array< double, dim > &x0)
Set the initial guess for the minimization.
Definition minimization.hh:186
double get_min_value() const
Objective value at the point returned by minimize(). NaN before it ran.
Definition minimization.hh:200
GSLSimplexMinimizer(const FUN &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new GSLSimplexMinimizer object.
Definition minimization.hh:168
bool converged() const
Whether the search met its criterion: the f-target if one was set, otherwise the simplex-size test....
Definition minimization.hh:207
void set_f_target(const double f_target)
Stop as soon as the objective falls to or below this value.
Definition minimization.hh:197
void set_step_size(const double step_size)
Set the initial step size for the minimization.
Definition minimization.hh:179
Definition complex_math.hh:10
bool KOKKOS_INLINE_FUNCTION is_close(T1 a, T2 b, T3 eps_)
Function to evaluate whether two floats are equal to numerical precision. Tests for both relative and...
Definition math.hh:177
Generated by