Typedefs | Functions
Marmot::AutomaticDifferentiation Namespace Reference

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 = std::function< VectorXdual(const VectorXdual &X) >
 
using vector_to_vector_function_type_dual = std::function< VectorXdual(const VectorXdual &X) >
 

Functions

dual2nd shiftTo2ndOrderDual (const dual &x)
 
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)
 
MatrixXd forwardMode (const vector_to_vector_function_type &F, const VectorXd &X)
 
std::pair< VectorXd, MatrixXd > jacobian (const vector_to_vector_function_type_dual &F, const VectorXd &X)
 

Typedef Documentation

◆ scalar_to_scalar_function_type

using Marmot::AutomaticDifferentiation::scalar_to_scalar_function_type = typedef std::function< dual( const dual& ) >

◆ scalar_to_scalar_function_type_2nd

using Marmot::AutomaticDifferentiation::scalar_to_scalar_function_type_2nd = typedef std::function< dual2nd( const dual2nd& ) >

◆ vector_to_vector_function_type

using Marmot::AutomaticDifferentiation::vector_to_vector_function_type = typedef std::function< VectorXdual( const VectorXdual& X ) >

◆ vector_to_vector_function_type_dual

using Marmot::AutomaticDifferentiation::vector_to_vector_function_type_dual = typedef std::function< VectorXdual( const VectorXdual& X ) >

Function Documentation

◆ shiftTo2ndOrderDual()

dual2nd Marmot::AutomaticDifferentiation::shiftTo2ndOrderDual ( const dual &  x)

◆ df_dx() [1/2]

double Marmot::AutomaticDifferentiation::df_dx ( const scalar_to_scalar_function_type f,
const double &  x 
)

◆ df_dx() [2/2]

dual Marmot::AutomaticDifferentiation::df_dx ( const scalar_to_scalar_function_type_2nd f,
const dual &  x 
)

◆ forwardMode()

MatrixXd Marmot::AutomaticDifferentiation::forwardMode ( const vector_to_vector_function_type F,
const VectorXd &  X 
)

◆ jacobian()

std::pair< VectorXd, MatrixXd > Marmot::AutomaticDifferentiation::jacobian ( const vector_to_vector_function_type_dual F,
const VectorXd &  X 
)