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

#include <lbfgs.hpp>

Public Member Functions

constexpr LBFGS (LS const &lineSearch, Size const maxIterations=defaultMaxIterations())
 
constexpr LBFGS (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

◆ LBFGS() [1/2]

template<class LS = LineSearch::Bracketing, Size M = 5>
pRC::Optimizer::LBFGS< LS, M >::LBFGS ( LS const & lineSearch,
Size const maxIterations = defaultMaxIterations() )
inlineconstexpr

◆ LBFGS() [2/2]

template<class LS = LineSearch::Bracketing, Size M = 5>
pRC::Optimizer::LBFGS< LS, M >::LBFGS ( Size const maxIterations = defaultMaxIterations())
inlineconstexpr

Member Function Documentation

◆ lineSearch()

template<class LS = LineSearch::Bracketing, Size M = 5>
auto & pRC::Optimizer::LBFGS< LS, M >::lineSearch ( ) const
inlineconstexpr

◆ maxIterations()

template<class LS = LineSearch::Bracketing, Size M = 5>
auto pRC::Optimizer::LBFGS< LS, M >::maxIterations ( ) const
inlineconstexpr

◆ operator()()

template<class LS = LineSearch::Bracketing, Size M = 5>
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::LBFGS< LS, M >::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: