![]() |
OGS
|
Computes numerical derivatives of almost arbitrary function (objects) with respect to scalar or vectorial (Eigen vectors) variables.
| DerivativeStrategy | compute central or forward differences |
Definition at line 208 of file NumericalDifferentiation.h.
#include <NumericalDifferentiation.h>
Public Member Functions | |
| NumericalDerivative (RelativeEpsilon const &rel_eps, MinimumPerturbation const &min_pert) | |
| template<typename Function, typename... Args> | |
| auto | operator() (Function const &f, Args const &... args) const |
Private Member Functions | |
| template<typename Function, typename TupleOfArgs, typename DByDScalar, std::size_t... AllArgIdcs> | |
| auto | differentiate (Function const &f, TupleOfArgs const &args, DByDScalar const &d_by_dScalar, std::index_sequence< AllArgIdcs... > all_arg_idcs) const |
| template<typename Function, typename TupleOfArgs, typename DByDScalar, std::size_t... AllArgIdcs, std::size_t PerturbedArgIdx> | |
| auto | differentiateWrtScalarOrVectorialArgument (std::true_type, Function const &f, TupleOfArgs const &args, DByDScalar const &d_by_dScalar, std::integral_constant< std::size_t, PerturbedArgIdx > perturbed_arg_idx, std::index_sequence< AllArgIdcs... > all_arg_idcs) const |
| template<typename Function, typename TupleOfArgs, typename DByDScalar, std::size_t... AllArgIdcs, std::size_t PerturbedArgIdx> | |
| auto | differentiateWrtScalarOrVectorialArgument (std::false_type, Function const &f, TupleOfArgs const &args, DByDScalar const &d_by_dScalar, std::integral_constant< std::size_t, PerturbedArgIdx > perturbed_arg_idx, std::index_sequence< AllArgIdcs... > all_arg_idcs) const |
| template<typename Function, typename TupleOfArgs, typename DByDScalar, Eigen::Index... PerturbedArgComponents, std::size_t... AllArgIdcs, std::size_t PerturbedArgIdx> | |
| auto | differentiateWrtAllVectorComponents (Function const &f, TupleOfArgs const &args, DByDScalar const &d_by_dScalar, std::integer_sequence< Eigen::Index, PerturbedArgComponents... >, std::integral_constant< std::size_t, PerturbedArgIdx > perturbed_arg_idx, std::index_sequence< AllArgIdcs... > all_arg_idcs) const |
Private Attributes | |
| detail::DefaultPerturbationStrategy | pert_strat_ |
|
inline |
Definition at line 210 of file NumericalDifferentiation.h.
References pert_strat_.
|
inlineprivate |
Definition at line 232 of file NumericalDifferentiation.h.
References differentiateWrtScalarOrVectorialArgument().
Referenced by operator()().
|
inlineprivate |
Definition at line 287 of file NumericalDifferentiation.h.
References pert_strat_.
Referenced by differentiateWrtScalarOrVectorialArgument().
|
inlineprivate |
Definition at line 262 of file NumericalDifferentiation.h.
References differentiateWrtAllVectorComponents(), and NumLib::N.
|
inlineprivate |
Definition at line 247 of file NumericalDifferentiation.h.
References pert_strat_.
Referenced by differentiate().
|
inline |
Definition at line 217 of file NumericalDifferentiation.h.
References differentiate().
|
private |
Definition at line 302 of file NumericalDifferentiation.h.
Referenced by NumericalDerivative(), differentiateWrtAllVectorComponents(), and differentiateWrtScalarOrVectorialArgument().