Loading...
Searching...
No Matches
Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... > Class Template Reference
Functions » Function implementations

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

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

Inheritance diagram for Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F, DF, Derivatives... >:

## 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.
Range | operator() (const Domain &x) const
| Evaluate function.

## Friends

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

## 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

  Range | Range type of function
  Domain | Domain 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:

- differentiablefunctionfromcallables.hh