Numerical differentiation with centered difference schemes. More...
#include "../defs.h"
#include "../../ads/array/FixedArray.h"
#include "ArrayTypes.h"
#include "../algorithm/is_sorted.h"
#include <iostream>
#include <functional>
#include <algorithm>
#include <limits>
#include <numeric>
#include <cmath>
#include <cassert>
#include "FixedArray.ipp"
#include "FixedArray0.h"
#include "FixedArray1.h"
#include "FixedArray2.h"
#include "FixedArray3.h"
Go to the source code of this file.
Classes | |
class | DerivativeCenteredDifference< Functor > |
The numerical derivative of a functor. More... | |
class | GradientCenteredDifference< N, Functor, T > |
The numerical gradient of a functor. More... | |
Functions | |
template<class Functor > | |
void | derivative_centered_difference (const Functor &f, const typename Functor::argument_type x, typename Functor::result_type &deriv, const typename Functor::argument_type delta=std::pow(std::numeric_limits< typename Functor::argument_type >::epsilon(), 1.0/3.0)) |
Calculate f'(x). | |
template<class Functor > | |
Functor::result_type | derivative_centered_difference (const Functor &f, const typename Functor::argument_type x, const typename Functor::argument_type delta=std::pow(std::numeric_limits< typename Functor::argument_type >::epsilon(), 1.0/3.0)) |
Return f'(x). | |
template<int N, class Functor , typename T > | |
void | gradient_centered_difference (const Functor &f, typename Functor::argument_type x, ads::FixedArray< N, typename Functor::result_type > &gradient, const T delta=std::pow(std::numeric_limits< T >::epsilon(), 1.0/3.0)) |
Calculate the gradient of f at x. | |
template<int N, class Functor , typename T > | |
ads::FixedArray< N, typename Functor::result_type > | gradient_centered_difference (const Functor &f, typename Functor::argument_type x, const T delta=std::pow(std::numeric_limits< T >::epsilon(), 1.0/3.0)) |
Return the gradient of f at x. |
Numerical differentiation with centered difference schemes.