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
15 namespace NeuralEngine
16{
17 namespace MachineLearning
18 {
41 template<typename Scalar>
42 class NE_IMPEXP MoreThuenteLineSearch : public ILineSearch<Scalar>
43 {
44 public:
45
51 MoreThuenteLineSearch() { };
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
72 ~MoreThuenteLineSearch() { }
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}
NeuralEngine::MachineLearning::ILineSearch
Definition: FgILineSearch.h:23
NeuralEngine::MachineLearning::MoreThuenteLineSearch
More Thuente.
Definition: FgMoreThuenteLineSearch.h:43
NeuralEngine::MachineLearning::MoreThuenteLineSearch::MoreThuenteLineSearch
MoreThuenteLineSearch()
Default constructor.
Definition: FgMoreThuenteLineSearch.h:51
NeuralEngine::MachineLearning::MoreThuenteLineSearch::Linesearch
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.
NeuralEngine::MachineLearning::MoreThuenteLineSearch::~MoreThuenteLineSearch
~MoreThuenteLineSearch()
Destructor.
Definition: FgMoreThuenteLineSearch.h:72
NeuralEngine::MachineLearning::NonlinearObjectiveFunction
Definition: NonlinearObjectiveFunction.h:21
Scalar
NeuralEngine
Definition: NeArray2.h:18