dune-functions 2.9.0
Public Types | Public Member Functions | Friends | List of all members
Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... > Class Template Reference

Wrap a list of callable objects as derivative sequence modelling Concept::DifferentiableFunction<Range(Domain), DerivativeTraits> More...

#include <dune/functions/common/differentiablefunctionfromcallables.hh>

Public Types

using Signature = Range(Domain)
 
using RawSignature = typename SignatureTraits< Signature >::RawSignature
 
using DerivativeSignature = typename DerivativeTraits< RawSignature >::Range(Domain)
 
using Derivative = DifferentiableFunctionFromCallables< DerivativeSignature, DerivativeTraits, DF, Derivatives... >
 

Public Member Functions

template<class FF , class DFF , class... DDFF>
 DifferentiableFunctionFromCallables (FF &&f, DFF &&df, DDFF &&... ddf)
 Constructor copying the given functions. More...
 
Range operator() (const Domain &x) const
 Evaluate function. More...
 

Friends

Derivative derivative (const DifferentiableFunctionFromCallables &t)
 Get derivative of DifferentiableFunctionFromCallables. More...
 

Detailed Description

template<class Range, class Domain, template< class > class DerivativeTraits, class F, class DF, class... Derivatives>
class Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... >

Wrap a list of callable objects as derivative sequence modelling Concept::DifferentiableFunction<Range(Domain), DerivativeTraits>

Template Parameters
RangeRange type of function
DomainDomain type of function

You can use this to implement a differentiable function including a variable number of derivatives using callable objects.

This models the Concept::DifferentiableFunction<Range(Domain), DerivativeTraits> concept.

Note that using makeDifferentiableFunction will be less verbose than creating this wrapper manually.

Member Typedef Documentation

◆ Derivative

template<class Range , class Domain , template< class > class DerivativeTraits, class F , class DF , class... Derivatives>
using Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... >::Derivative = DifferentiableFunctionFromCallables<DerivativeSignature, DerivativeTraits, DF, Derivatives...>

◆ DerivativeSignature

template<class Range , class Domain , template< class > class DerivativeTraits, class F , class DF , class... Derivatives>
using Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... >::DerivativeSignature = typename DerivativeTraits<RawSignature>::Range(Domain)

◆ RawSignature

template<class Range , class Domain , template< class > class DerivativeTraits, class F , class DF , class... Derivatives>
using Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... >::RawSignature = typename SignatureTraits<Signature>::RawSignature

◆ Signature

template<class Range , class Domain , template< class > class DerivativeTraits, class F , class DF , class... Derivatives>
using Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... >::Signature = Range(Domain)

Constructor & Destructor Documentation

◆ DifferentiableFunctionFromCallables()

template<class Range , class Domain , template< class > class DerivativeTraits, class F , class DF , class... Derivatives>
template<class FF , class DFF , class... DDFF>
Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... >::DifferentiableFunctionFromCallables ( FF &&  f,
DFF &&  df,
DDFF &&...  ddf 
)
inline

Constructor copying the given functions.

The arguments are used as implementation of the functions itself and its derivatives with increasing order

Member Function Documentation

◆ operator()()

template<class Range , class Domain , template< class > class DerivativeTraits, class F , class DF , class... Derivatives>
Range Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... >::operator() ( const Domain &  x) const
inline

Evaluate function.


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