NuriKit v0.1.0b2
Loading...
Searching...
No Matches
optim.h File Reference
Include dependency graph for optim.h:

Go to the source code of this file.

Classes

struct  nuri::LbfgsResult
class  nuri::LBfgs< Impl >
 L-BFGS(-B) minimizer. More...
struct  nuri::BfgsResult
class  nuri::Bfgs
 BFGS minimizer. More...
struct  nuri::NMResult
class  nuri::NelderMead
 Nelder-Mead simplex algorithm for function minimization. More...

Namespaces

namespace  nuri

Enumerations

enum class  nuri::OptimResultCode { nuri::kSuccess , nuri::kMaxIterReached , nuri::kInvalidInput , nuri::kAbnormalTerm }

Functions

template<class FuncGrad>
LbfgsResult nuri::l_bfgs_b (FuncGrad &&fg, MutRef< ArrayXd > x, const ArrayXi &nbd, const Array2Xd &bounds, const int m=10, const double factr=1e+7, const double pgtol=1e-5, const int maxiter=15000, const int maxls=20)
 Minimize a function using L-BFGS-B algorithm.
template<class FuncGrad>
LbfgsResult nuri::l_bfgs (FuncGrad &&fg, MutRef< ArrayXd > x, const int m=10, const double factr=1e+7, const double pgtol=1e-5, const int maxiter=15000, const int maxls=20)
 Minimize a function using L-BFGS algorithm.
template<class FuncGrad>
BfgsResult nuri::bfgs (FuncGrad &&fg, MutRef< ArrayXd > x, const double pgtol=1e-5, const double xrtol=0, int maxiter=-1, const int maxls=100, const double ftol=1e-4, const double gtol=0.9, const double xtol=1e-14)
 Minimize a function using BFGS algorithm.
template<class Func>
NMResult nuri::nelder_mead (Func &&f, MutRef< ArrayXXd > data, int maxiter=-1, const double ftol=1e-6, const double alpha=1, const double gamma=2, const double rho=0.5, const double sigma=0.5)
 Minimize a function using Nelder-Mead simplex algorithm.
ArrayXXd nuri::nm_prepare_simplex (ConstRef< ArrayXd > x0, double eps=1e-6)
 Prepare the initial simplex for Nelder-Mead algorithm.