|
|
static void | initialize_global_environment (const unsigned int n_independent_variables) |
|
|
static ScalarType | value (const std::vector< ADNumberType > &dependent_variables) |
|
static void | gradient (const std::vector< ADNumberType > &independent_variables, const std::vector< ADNumberType > &dependent_variables, Vector< ScalarType > &gradient) |
|
static void | hessian (const std::vector< ADNumberType > &independent_variables, const std::vector< ADNumberType > &dependent_variables, FullMatrix< ScalarType > &hessian) |
|
|
static void | values (const std::vector< ADNumberType > &dependent_variables, Vector< ScalarType > &values) |
|
static void | jacobian (const std::vector< ADNumberType > &independent_variables, const std::vector< ADNumberType > &dependent_variables, FullMatrix< ScalarType > &jacobian) |
|
template<typename ADNumberType, typename ScalarType, typename T = void>
struct Differentiation::AD::TapelessDrivers< ADNumberType, ScalarType, T >
A prototype driver class for tapeless auto-differentiable numbers.
It is intended that this class be specialized for the valid combinations of auto-differentiable numbers and output scalar number types.
- Template Parameters
-
ADNumberType | A type corresponding to a supported auto-differentiable number. |
ScalarType | A real or complex floating point number type that is the scalar value type used for input to, and output from, operations performed with auto-differentiable numbers. |
T | An arbitrary type resulting from the application of the SFINAE idiom to selectively specialize this class. |
- Author
- Jean-Paul Pelteret, 2017
Definition at line 352 of file ad_drivers.h.
template<typename ADNumberType , typename ScalarType , typename T = void>
static void Differentiation::AD::TapelessDrivers< ADNumberType, ScalarType, T >::jacobian |
( |
const std::vector< ADNumberType > & |
independent_variables, |
|
|
const std::vector< ADNumberType > & |
dependent_variables, |
|
|
FullMatrix< ScalarType > & |
jacobian |
|
) |
| |
|
static |
Computes the Jacobian of the vector field.
The Jacobian of a vector field is in essense the gradient of each dependent variable with respect to all independent variables. This operation is therefore analogous to the gradient() operation performed on a collection of scalar valued fields.
- Parameters
-
[in] | independent_variables | The independent variables whose sensitivities were tracked. |
[in] | dependent_variables | The dependent variables whose Jacobian are to be extracted. |
[out] | jacobian | The scalar values of the dependent functions' Jacobian. It is expected that this matrix be of the correct size (with dimensions n_dependent_variables \(\times\)n_independent_variables ). |