cMHN 1.2
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
pRC::Optimizer::GradientDescent< LS > Class Template Reference

#include <gradient_descent.hpp>

Public Member Functions

constexpr GradientDescent (LS const &lineSearch, Size const maxIterations=defaultMaxIterations())
 
constexpr GradientDescent (Size const maxIterations=defaultMaxIterations())
 
constexpr auto & lineSearch () const
 
constexpr auto maxIterations () const
 
template<class XX , class FF , class FC , IsTensorish RX = RemoveReference<XX>, IsTensor RXE = RemoveConstReference<ResultOf<Eval, XX>>, IsFloat VX = Value<RX>, IsFloat VT = VX>
requires IsInvocable<FF, RXE const &, RXE &> && IsFloat<ResultOf<FF, RXE const &, RXE &>> && IsInvocable<FC, RXE const &> && IsInvocable<LS, RXE &, ResultOf<FF, RXE const &, RXE &> &, RXE &, typename ResultOf<ScalarProduct, XX, XX>::Type &, FF, RXE const &>
constexpr auto operator() (XX &&x0, FF &&function, FC &&callback, VT const &tolerance=NumericLimits< VT >::tolerance()) const
 

Constructor & Destructor Documentation

◆ GradientDescent() [1/2]

template<class LS = LineSearch::Fixed>
pRC::Optimizer::GradientDescent< LS >::GradientDescent ( LS const & lineSearch,
Size const maxIterations = defaultMaxIterations() )
inlineconstexpr

◆ GradientDescent() [2/2]

template<class LS = LineSearch::Fixed>
pRC::Optimizer::GradientDescent< LS >::GradientDescent ( Size const maxIterations = defaultMaxIterations())
inlineconstexpr

Member Function Documentation

◆ lineSearch()

template<class LS = LineSearch::Fixed>
auto & pRC::Optimizer::GradientDescent< LS >::lineSearch ( ) const
inlineconstexpr

◆ maxIterations()

template<class LS = LineSearch::Fixed>
auto pRC::Optimizer::GradientDescent< LS >::maxIterations ( ) const
inlineconstexpr

◆ operator()()

template<class LS = LineSearch::Fixed>
template<class XX , class FF , class FC , IsTensorish RX = RemoveReference<XX>, IsTensor RXE = RemoveConstReference<ResultOf<Eval, XX>>, IsFloat VX = Value<RX>, IsFloat VT = VX>
requires IsInvocable<FF, RXE const &, RXE &> && IsFloat<ResultOf<FF, RXE const &, RXE &>> && IsInvocable<FC, RXE const &> && IsInvocable<LS, RXE &, ResultOf<FF, RXE const &, RXE &> &, RXE &, typename ResultOf<ScalarProduct, XX, XX>::Type &, FF, RXE const &>
auto pRC::Optimizer::GradientDescent< LS >::operator() ( XX && x0,
FF && function,
FC && callback,
VT const & tolerance = NumericLimits<VT>::tolerance() ) const
inlineconstexpr

The documentation for this class was generated from the following file: