![]() |
Namespaces | |
SecondOrder | |
Typedefs | |
using | scalar_to_scalar_function_type = std::function< dual(const dual &) > |
using | scalar_to_scalar_function_type_2nd = std::function< dual2nd(const dual2nd &) > |
using | vector_to_vector_function_type_dual = std::function< VectorXdual(const VectorXdual &X) > |
using | vector_to_vector_function_type_dual2nd = std::function< VectorXdual2nd(const VectorXdual2nd &X) > |
template<size_t... Rest> | |
using | tensor_to_scalar_function_type = std::function< dual(const Fastor::Tensor< dual, Rest... > &T) > |
template<size_t order, size_t... Rest> | |
using | tensor_to_scalar_function_type_arbitrary_dual_order = std::function< HigherOrderDual< order, double >(const Fastor::Tensor< HigherOrderDual< order, double >, Rest... > &T) > |
Functions | |
dual2nd | shiftTo2ndOrderDual (const dual &x) |
VectorXdual2nd | shiftTo2ndOrderDual (const VectorXdual &X) |
template<size_t order, typename T , typename G > | |
auto & | valnode (const Dual< T, G > &dual) |
template<size_t order, typename T , typename G > | |
auto & | valnode (Dual< T, G > &dual) |
template<size_t order> | |
autodiff::HigherOrderDual< order+1, double > | increaseDualOrderWithShift (const autodiff::HigherOrderDual< order, double > &in) |
template<size_t order> | |
autodiff::HigherOrderDual< order - 1, double > | decreaseDualOrder (autodiff::HigherOrderDual< order, double > &in) |
template<size_t order> | |
autodiff::HigherOrderDual< order - 1, double > | decreaseDualOrderWithShift (autodiff::HigherOrderDual< order, double > &in) |
template<size_t order> | |
Vector< HigherOrderDual< order+1, double >, -1 > | increaseDualOrderWithShift (const Vector< HigherOrderDual< order, double >, -1 > &in) |
double | df_dx (const scalar_to_scalar_function_type &f, const double &x) |
dual | df_dx (const scalar_to_scalar_function_type_2nd &f, const dual &x) |
std::pair< VectorXd, MatrixXd > | dF_dX (const vector_to_vector_function_type_dual &F, const VectorXd &X) |
std::pair< VectorXdual, MatrixXdual > | dF_dX_2nd (const vector_to_vector_function_type_dual2nd &F, const VectorXdual &X) |
template<size_t order, size_t... Rest> | |
Fastor::Tensor< HigherOrderDual< order+1, double >, Rest... > | increaseDualOrderWithShift (const Fastor::Tensor< HigherOrderDual< order, double >, Rest... > &in) |
template<size_t... Rest> | |
Fastor::Tensor< double, Rest... > | df_dT (const tensor_to_scalar_function_type< Rest... > &f, const Fastor::Tensor< double, Rest... > &T) |
template<size_t order, size_t... Rest> | |
std::pair< HigherOrderDual< order, double >, Fastor::Tensor< HigherOrderDual< order, double >, Rest... > > | df_dT (const tensor_to_scalar_function_type_arbitrary_dual_order< order+1, Rest... > &f, const Fastor::Tensor< HigherOrderDual< order, double >, Rest... > &T) |
template<size_t... RestF, size_t... RestT> | |
std::pair< Fastor::Tensor< double, RestF... >, Fastor::Tensor< double, RestF..., RestT... > > | dF_dT (std::function< Fastor::Tensor< dual, RestF... >(const Fastor::Tensor< dual, RestT... > &) > &F, const Fastor::Tensor< double, RestT... > &T) |
using Marmot::AutomaticDifferentiation::scalar_to_scalar_function_type = typedef std::function< dual( const dual& ) > |
using Marmot::AutomaticDifferentiation::scalar_to_scalar_function_type_2nd = typedef std::function< dual2nd( const dual2nd& ) > |
using Marmot::AutomaticDifferentiation::vector_to_vector_function_type_dual = typedef std::function< VectorXdual( const VectorXdual& X ) > |
using Marmot::AutomaticDifferentiation::vector_to_vector_function_type_dual2nd = typedef std::function< VectorXdual2nd( const VectorXdual2nd& X ) > |
using Marmot::AutomaticDifferentiation::tensor_to_scalar_function_type = typedef std::function< dual( const Fastor::Tensor< dual, Rest... >& T ) > |
using Marmot::AutomaticDifferentiation::tensor_to_scalar_function_type_arbitrary_dual_order = typedef std::function< HigherOrderDual< order, double >( const Fastor::Tensor< HigherOrderDual< order, double >, Rest... >& T ) > |
dual2nd Marmot::AutomaticDifferentiation::shiftTo2ndOrderDual | ( | const dual & | x | ) |
VectorXdual2nd Marmot::AutomaticDifferentiation::shiftTo2ndOrderDual | ( | const VectorXdual & | X | ) |
auto& Marmot::AutomaticDifferentiation::valnode | ( | const Dual< T, G > & | dual | ) |
auto& Marmot::AutomaticDifferentiation::valnode | ( | Dual< T, G > & | dual | ) |
autodiff::HigherOrderDual< order + 1, double > Marmot::AutomaticDifferentiation::increaseDualOrderWithShift | ( | const autodiff::HigherOrderDual< order, double > & | in | ) |
autodiff::HigherOrderDual< order - 1, double > Marmot::AutomaticDifferentiation::decreaseDualOrder | ( | autodiff::HigherOrderDual< order, double > & | in | ) |
autodiff::HigherOrderDual< order - 1, double > Marmot::AutomaticDifferentiation::decreaseDualOrderWithShift | ( | autodiff::HigherOrderDual< order, double > & | in | ) |
Vector< HigherOrderDual< order + 1, double >, -1 > Marmot::AutomaticDifferentiation::increaseDualOrderWithShift | ( | const Vector< HigherOrderDual< order, double >, -1 > & | in | ) |
double Marmot::AutomaticDifferentiation::df_dx | ( | const scalar_to_scalar_function_type & | f, |
const double & | x | ||
) |
dual Marmot::AutomaticDifferentiation::df_dx | ( | const scalar_to_scalar_function_type_2nd & | f, |
const dual & | x | ||
) |
std::pair< VectorXd, MatrixXd > Marmot::AutomaticDifferentiation::dF_dX | ( | const vector_to_vector_function_type_dual & | F, |
const VectorXd & | X | ||
) |
std::pair< VectorXdual, MatrixXdual > Marmot::AutomaticDifferentiation::dF_dX_2nd | ( | const vector_to_vector_function_type_dual2nd & | F, |
const VectorXdual & | X | ||
) |
Fastor::Tensor< HigherOrderDual< order + 1, double >, Rest... > Marmot::AutomaticDifferentiation::increaseDualOrderWithShift | ( | const Fastor::Tensor< HigherOrderDual< order, double >, Rest... > & | in | ) |
Fastor::Tensor< double, Rest... > Marmot::AutomaticDifferentiation::df_dT | ( | const tensor_to_scalar_function_type< Rest... > & | f, |
const Fastor::Tensor< double, Rest... > & | T | ||
) |
std::pair< HigherOrderDual< order, double >, Fastor::Tensor< HigherOrderDual< order, double >, Rest... > > Marmot::AutomaticDifferentiation::df_dT | ( | const tensor_to_scalar_function_type_arbitrary_dual_order< order+1, Rest... > & | f, |
const Fastor::Tensor< HigherOrderDual< order, double >, Rest... > & | T | ||
) |
std::pair< Fastor::Tensor< double, RestF... >, Fastor::Tensor< double, RestF..., RestT... > > Marmot::AutomaticDifferentiation::dF_dT | ( | std::function< Fastor::Tensor< dual, RestF... >(const Fastor::Tensor< dual, RestT... > &) > & | F, |
const Fastor::Tensor< double, RestT... > & | T | ||
) |