diff --git a/include/optimizer.h b/include/optimizer.h index 0eb9cf5ccb814b58d4dc338aecc20e5cfe70ee6b..6aa23d6050a43df7155bae4aa20c4385698e3be5 100644 --- a/include/optimizer.h +++ b/include/optimizer.h @@ -23,13 +23,15 @@ template <typename argtype, typename valtype> class Optimizer { */ class GradientDescent : public Optimizer<double, double> { public: - GradientDescent(double _stepsize) : stepsize(_stepsize) {} + GradientDescent(Differentiator<double, double>& _diff, double _stepsize) + : diff(_diff), stepsize(_stepsize) {} Coordinate<double> optimize(Function<Coordinate<double>, double>& func, Coordinate<double>& start, double precision) const override; protected: + Differentiator<double, double>& diff; double stepsize; };