NeuralEngine
A Game Engine with embeded Machine Learning algorithms based on Gaussian Processes.
FgMoreThuenteLineSearch.h
1
11#pragma once
12
13#include <MachineLearning/FgILineSearch.h>
14
15namespace NeuralEngine
16{
17 namespace MachineLearning
18 {
41 template<typename Scalar>
42 class NE_IMPEXP MoreThuenteLineSearch : public ILineSearch<Scalar>
43 {
44 public:
45
52
65 void Linesearch(NonlinearObjectiveFunction<Scalar>& objFunc, Scalar& fx, af::array& x, af::array& grad, Scalar& step, const af::array& drt, const af::array& xp) override;
66
73
74 private:
75 int cvsrch(NonlinearObjectiveFunction<Scalar>& objFunc, af::array& x, Scalar& f, af::array& g, Scalar& stp, const af::array& s);
76
77 int cstep(Scalar& stx, Scalar& fx, Scalar& dx, Scalar& sty, Scalar& fy, Scalar& dy, Scalar& stp,
78 Scalar& fp, Scalar& dp, bool& brackt, Scalar& stpmin, Scalar& stpmax, int& info);
79 };
80 }
81}
void Linesearch(NonlinearObjectiveFunction< Scalar > &objFunc, Scalar &fx, af::array &x, af::array &grad, Scalar &step, const af::array &drt, const af::array &xp) override
Linesearches.