cMHN 1.1
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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 autolineSearch () const
 
constexpr auto maxIterations () const
 
template<class XX , class RX = RemoveReference<XX>, class TX = typename RX::Type, class VX = typename TX::Value, If< IsTensorish< RX > > = 0, class RXE = RemoveConstReference<ResultOf<Eval, XX>>, class FF , If< IsInvocable< FF, RXE const &, RXE & > > = 0, If< IsFloat< ResultOf< FF, RXE const &, RXE & > > > = 0, class FC , If< IsInvocable< FC, RXE & > > = 0, class VT = VX, If< All< IsFloat< VX >, IsFloat< VT > > > = 0, If< IsInvocable< LS, RXE &, ResultOf< FF, RXE const &, RXE & > &, RXE &, VX &, FF, RXE const & > > = 0>
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::Bracketing>
constexpr pRC::Optimizer::GradientDescent< LS >::GradientDescent ( LS const & lineSearch,
Size const maxIterations = defaultMaxIterations() )
inlineconstexpr

◆ GradientDescent() [2/2]

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

Member Function Documentation

◆ lineSearch()

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

◆ maxIterations()

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

◆ operator()()

template<class LS = LineSearch::Bracketing>
template<class XX , class RX = RemoveReference<XX>, class TX = typename RX::Type, class VX = typename TX::Value, If< IsTensorish< RX > > = 0, class RXE = RemoveConstReference<ResultOf<Eval, XX>>, class FF , If< IsInvocable< FF, RXE const &, RXE & > > = 0, If< IsFloat< ResultOf< FF, RXE const &, RXE & > > > = 0, class FC , If< IsInvocable< FC, RXE & > > = 0, class VT = VX, If< All< IsFloat< VX >, IsFloat< VT > > > = 0, If< IsInvocable< LS, RXE &, ResultOf< FF, RXE const &, RXE & > &, RXE &, VX &, FF, RXE const & > > = 0>
constexpr 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: