cMHN 1.1
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
Public Member Functions | List of all members
pRC::Optimizer::LineSearch::Bracketing Struct Reference

#include <bracketing.hpp>

Public Member Functions

constexpr Bracketing (Bool const strongWolfeConditions=defaultStrongWolfeConditions(), Float<> const decreasingStepScale=defaultDecreasingStepScale(), Float<> const increasingStepScale=defaultIncreasingStepScale(), Size const maxIterations=defaultMaxIterations(), Float<> const c1=defaultC1(), Float<> const c2=defaultC2())
 
constexpr auto strongWolfeConditions () const
 
template<class T = Float<>>
constexpr decltype(autodecreasingStepScale () const
 
template<class T = Float<>>
constexpr decltype(autoincreasingStepScale () const
 
constexpr auto maxIterations () const
 
template<class T = Float<>>
constexpr decltype(autoc1 () const
 
template<class T = Float<>>
constexpr decltype(autoc2 () const
 
template<class X , If< IsTensor< X > > = 0, class T = typename X::Type::Value, If< IsFloat< T > > = 0, class F , If< IsInvocable< F, X const &, X & > > = 0, If< IsFloat< ResultOf< F, X const &, X & > > > = 0, class FC , If< IsInvocable< FC, X const & > > = 0, If< IsConvertible< ResultOf< FC, X const & >, X > > = 0>
constexpr auto operator() (X &x, ResultOf< F, X const &, X & > &f, X &g, typename ResultOf< ScalarProduct, X, X >::Type &d, F &&function, FC &&constraint, X const &p, T alpha=identity< T >(), T const alphaMin=zero< T >(), T const alphaMax=identity< T >(NumericLimits< T >::max())) const
 
template<class X , If< IsTensor< X > > = 0, class T = typename X::Type::Value, If< IsFloat< T > > = 0, class F , If< IsInvocable< F, X const &, X & > > = 0, If< IsFloat< ResultOf< F, X const &, X & > > > = 0>
constexpr auto operator() (X &x, ResultOf< F, X const &, X & > &f, X &g, typename ResultOf< ScalarProduct, X, X >::Type &d, F &&function, X const &p, T alpha=identity< T >(), T const alphaMin=zero< T >(), T const alphaMax=identity< T >(NumericLimits< T >::max())) const
 

Constructor & Destructor Documentation

◆ Bracketing()

constexpr pRC::Optimizer::LineSearch::Bracketing::Bracketing ( Bool const strongWolfeConditions = defaultStrongWolfeConditions(),
Float<> const decreasingStepScale = defaultDecreasingStepScale(),
Float<> const increasingStepScale = defaultIncreasingStepScale(),
Size const maxIterations = defaultMaxIterations(),
Float<> const c1 = defaultC1(),
Float<> const c2 = defaultC2() )
inlineconstexpr

Member Function Documentation

◆ c1()

template<class T = Float<>>
constexpr decltype(auto) pRC::Optimizer::LineSearch::Bracketing::c1 ( ) const
inlineconstexpr

◆ c2()

template<class T = Float<>>
constexpr decltype(auto) pRC::Optimizer::LineSearch::Bracketing::c2 ( ) const
inlineconstexpr

◆ decreasingStepScale()

template<class T = Float<>>
constexpr decltype(auto) pRC::Optimizer::LineSearch::Bracketing::decreasingStepScale ( ) const
inlineconstexpr

◆ increasingStepScale()

template<class T = Float<>>
constexpr decltype(auto) pRC::Optimizer::LineSearch::Bracketing::increasingStepScale ( ) const
inlineconstexpr

◆ maxIterations()

constexpr auto pRC::Optimizer::LineSearch::Bracketing::maxIterations ( ) const
inlineconstexpr

◆ operator()() [1/2]

template<class X , If< IsTensor< X > > = 0, class T = typename X::Type::Value, If< IsFloat< T > > = 0, class F , If< IsInvocable< F, X const &, X & > > = 0, If< IsFloat< ResultOf< F, X const &, X & > > > = 0, class FC , If< IsInvocable< FC, X const & > > = 0, If< IsConvertible< ResultOf< FC, X const & >, X > > = 0>
constexpr auto pRC::Optimizer::LineSearch::Bracketing::operator() ( X & x,
ResultOf< F, X const &, X & > & f,
X & g,
typename ResultOf< ScalarProduct, X, X >::Type & d,
F && function,
FC && constraint,
X const & p,
T alpha = identity<T>(),
T const alphaMin = zero<T>(),
T const alphaMax = identity<T>(NumericLimits<T>::max()) ) const
inlineconstexpr

◆ operator()() [2/2]

template<class X , If< IsTensor< X > > = 0, class T = typename X::Type::Value, If< IsFloat< T > > = 0, class F , If< IsInvocable< F, X const &, X & > > = 0, If< IsFloat< ResultOf< F, X const &, X & > > > = 0>
constexpr auto pRC::Optimizer::LineSearch::Bracketing::operator() ( X & x,
ResultOf< F, X const &, X & > & f,
X & g,
typename ResultOf< ScalarProduct, X, X >::Type & d,
F && function,
X const & p,
T alpha = identity<T>(),
T const alphaMin = zero<T>(),
T const alphaMax = identity<T>(NumericLimits<T>::max()) ) const
inlineconstexpr

◆ strongWolfeConditions()

constexpr auto pRC::Optimizer::LineSearch::Bracketing::strongWolfeConditions ( ) const
inlineconstexpr

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