|
|
template<unsigned int N = 0> |
| using | dreal_t = multidual< N > |
| | Real type for multivariate automatic differentiation (read "differential real").
|
| |
|
template<unsigned int N = 0> |
| using | dvec_t = vec< dreal_t< N >, N > |
| | Vector type for multivariate automatic differentiation (read "differential vector").
|
| |
|
using | dreal = dreal_t< 0 > |
| | Real type for multivariate automatic differentiation with dynamically allocated vectors.
|
| |
|
using | dvec = dvec_t< 0 > |
| | Vector type for multivariate automatic differentiation with dynamically allocated vectors.
|
| |
|
using | dreal2 = dreal_t< 2 > |
| | Real type for multivariate automatic differentiation with two-dimensional statically allocated vectors.
|
| |
|
using | dvec2 = dvec_t< 2 > |
| | Vector type for multivariate automatic differentiation with two-dimensional statically allocated vectors.
|
| |
|
using | dreal3 = dreal_t< 3 > |
| | Real type for multivariate automatic differentiation with three-dimensional statically allocated vectors.
|
| |
|
using | dvec3 = dvec_t< 3 > |
| | Vector type for multivariate automatic differentiation with three-dimensional statically allocated vectors.
|
| |
|
using | dreal4 = dreal_t< 4 > |
| | Real type for multivariate automatic differentiation with four-dimensional statically allocated vectors.
|
| |
|
using | dvec4 = dvec_t< 4 > |
| | Vector type for multivariate automatic differentiation with four-dimensional statically allocated vectors.
|
| |
|
| template<typename DualFunction = std::function<dual(dual)>, enable_dual_func< DualFunction > = true> |
| real | deriv (DualFunction f, real x) |
| | Compute the derivative of a function at the given point using univariate automatic differentiation.
|
| |
| template<typename DualFunction = std::function<dual(dual)>, enable_dual_func< DualFunction > = true> |
| auto | deriv (DualFunction f) |
| | Get a lambda function which computes the derivative of the given function at the given point, using automatic differentiation.
|
| |
| template<typename Dual2Function = std::function<dual2(dual2)>, enable_dual2_func< Dual2Function > = true> |
| real | deriv2 (Dual2Function f, real x) |
| | Compute the second derivative of a function at the given point using univariate automatic differentiation.
|
| |
| template<typename Dual2Function = std::function<dual2(dual2)>, enable_dual2_func< Dual2Function > = true> |
| auto | deriv2 (Dual2Function f) |
| | Get a lambda function which computes the second derivative of the given function at the given point, using automatic differentiation.
|
| |
| template<typename Function , typename Vector = vec<real>, enable_scalar_field< Function > = true, enable_vector< Vector > = true> |
| auto | gradient (Function f, const Vector &x) |
| | Compute the gradient \(\nabla f = \sum_i^n \vec e_i \frac{\partial}{\partial x_i} f(\vec x)\) for a given \(\vec x\) of a scalar field of the form \(f: \mathbb{R}^N \rightarrow \mathbb{R}\) using automatic differentiation.
|
| |
| template<typename Function , enable_scalar_field< Function > = true> |
| auto | gradient (Function f) |
| | Get a lambda function which computes the gradient \(\nabla f = \sum_i^n \vec e_i \frac{\partial}{\partial x_i} f(\vec x)\) of a given scalar field of the form \(f: \mathbb{R}^N \rightarrow \mathbb{R}\) at \(\vec x\) using automatic differentiation.
|
| |
| template<typename Function , typename Vector = vec<real>, enable_vector_field< Function > = true, enable_vector< Vector > = true> |
| real | divergence (Function V, const Vector &x) |
| | Compute the divergence \(\sum_i^n \frac{\partial}{\partial x_i} V_i(\vec x)\) for a given \(\vec x\) of a vector field of the form \(V: \mathbb{R}^N \rightarrow \mathbb{R}^N\) using automatic differentiation.
|
| |
| template<typename Function , enable_scalar_field< Function > = true> |
| auto | divergence (Function V) |
| | Get a lambda function which computes the divergence of a given function of the form \(V: \mathbb{R}^N \rightarrow \mathbb{R}^N\) at a given \(\vec x\) using automatic differentiation.
|
| |
| template<typename MultidualFunction , typename Vector , enable_vector< Vector > = true, enable_vector_field< MultidualFunction > = true> |
| auto | jacobian (MultidualFunction f, const Vector &x) |
| | Compute the jacobian of a vector field of the form \(f: \mathbb{R}^N \rightarrow \mathbb{R}^M\).
|
| |
| template<typename MultidualFunction , enable_vector_field< MultidualFunction > = true> |
| auto | jacobian (MultidualFunction f) |
| | Get a lambda function which computes the jacobian of a generic function of the form \(f: \mathbb{R}^N \rightarrow \mathbb{R}^M\) for a given $\vec x$.
|
| |
| template<typename MultidualFunction , typename Vector , enable_vector< Vector > = true, enable_vector_field< MultidualFunction > = true> |
| auto | curl (MultidualFunction f, const Vector &x) |
| | Compute the curl for a given \(\vec x\) of a vector field defined by \(f: \mathbb{R}^3 \rightarrow \mathbb{R}^3\) using automatic differentiation.
|
| |
| template<typename MultidualFunction , enable_vector_field< MultidualFunction > = true> |
| auto | curl (MultidualFunction f) |
| | Get a lambda function which computes the curl for a given \(\vec x\) of a vector field defined by \(f: \mathbb{R}^3 \rightarrow \mathbb{R}^3\) using automatic differentiation.
|
| |
| template<typename Dual2Function , typename Vector , enable_vector< Vector > = true> |
| real | laplacian (Dual2Function f, const Vector &x) |
| | Compute the Laplacian differential operator for a generic function of the form \(f: \mathbb{R}^N \rightarrow \mathbb{R}\) at a given $\vec x$.
|
| |
| template<typename Dual2Function > |
| auto | laplacian (Dual2Function f) |
| | Get a lambda function which computes the Laplacian differential operator for a generic function of the form \(f: \mathbb{R}^N \rightarrow \mathbb{R}\) at a given $\vec x$.
|
| |
Differential operators with automatic differentiation.