template <class T, int N>
derivative(Array< T, N > func, const T delta, int dimension, Array< T, N > & result) -> void
template <class T, int N>
gradient(const blitz::TinyVector< int, N > & idx, const blitz::TinyVector< T, N > & delta, const Array< T, N > & func) -> blitz::TinyVector< T, N >
template <class T>
gradient(const blitz::TinyVector< int, 4 > & idx, const blitz::TinyVector< T, 4 > & delta, const Array< T, 4 > & func) -> blitz::TinyVector< T, 4 >
template <class T, int N>
derivative(const blitz::TinyVector< int, N > & idx, int dimension, const T delta, const Array< T, N > & func) -> T
template <class T, int N>
derivative(const blitz::TinyVector< int, N > & idx, int idx_min, int idx_max, int dimension, const T delta, const Array< T, N > & func) -> T

  1. Compute forward differences on the left border.
  2. Compute backward differences on the right border.
  3. Compute central differences in all other points.

template <class T, int N>
derivative(Array< T, N > func, const T delta, int dimension) -> Array< T, N >
template <class T>
gradient(const blitz::TinyVector< int, 3 > & idx, const blitz::TinyVector< T, 3 > & delta, const Array< T, 3 > & func) -> blitz::TinyVector< T, 3 >