/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/minimization.hh Source File#
|
DiFfRG
|
minimization.hh
Go to the documentation of this file.
double minimize()
Perform the minimization.
Definition minimization.hh:134
std::function< double(const std::array< double, 1 > &)> FUN_ARR
Definition minimization.hh:81
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:113
uint get_iter() const
Get the number of iterations used in the last minimization.
Definition minimization.hh:127
AbstractMinimizer(const FUN &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new AbstractMinimizer object.
Definition minimization.hh:91
void set_max_iter(const uint max_iter)
Set the maximum number of iterations.
Definition minimization.hh:120
AbstractMinimizer(const FUN_ARR &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new AbstractMinimizer object.
Definition minimization.hh:103
std::function< double(const double)> FUN
Definition minimization.hh:80
Abstract class for minimization in arbitrary dimensions.
Definition minimization.hh:21
void set_max_iter(const uint max_iter)
Set the maximum number of iterations.
Definition minimization.hh:50
std::function< double(const std::array< double, dim > &)> FUN
Definition minimization.hh:23
AbstractMinimizer(const FUN &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new AbstractMinimizer object.
Definition minimization.hh:33
uint get_iter() const
Get the number of iterations used in the last minimization.
Definition minimization.hh:57
void set_abs_tol(const double abs_tol)
Set the absolute tolerance for the minimization.
Definition minimization.hh:43
std::array< double, dim > minimize()
Perform the minimization.
Definition minimization.hh:64
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:246
static double gsl_wrap(double x, void *params)
Definition minimization.hh:358
method
List of available minimization methods.
Definition minimization.hh:266
void set_bounds(const double min_x, const double max_x)
Set the bounds for the minimization.
Definition minimization.hh:281
void set_x0(const double x0)
Set the initial guess for the minimization.
Definition minimization.hh:273
void set_rel_tol(const double rel_tol)
Set the relative tolerance for the minimization. Default is 0.
Definition minimization.hh:299
GSLMinimizer1D(const FUN &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new GSLMinimizer1D object.
Definition minimization.hh:257
virtual std::array< double, 1 > minimize_impl() override
Definition minimization.hh:302
void set_method(const method m)
Set the minimization method. Default is Brent.
Definition minimization.hh:292
Minimizer using the Nelder-Mead simplex algorithm from GSL.
Definition minimization.hh:152
virtual std::array< double, dim > minimize_impl() override
Definition minimization.hh:193
static double gsl_wrap(const gsl_vector *v, void *params)
Definition minimization.hh:183
void set_x0(const std::array< double, dim > &x0)
Set the initial guess for the minimization.
Definition minimization.hh:181
GSLSimplexMinimizer(const FUN &f, const double abs_tol=1e-4, const int max_iter=1000)
Construct a new GSLSimplexMinimizer object.
Definition minimization.hh:163
void set_step_size(const double step_size)
Set the initial step size for the minimization.
Definition minimization.hh:174
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:168
Generated by