See TapeHelperBase. More...
#include <tapeHelper.hpp>
Additional Inherited Members | |
Public Types inherited from codi::TapeHelperNoImpl< Type > | |
using | Base |
Base class abbreviation. | |
using | Real |
See TapeHelperBase. | |
using | Type |
See TapeHelperBase. | |
Public Types inherited from codi::TapeHelperBase< T_Type, T_Impl > | |
using | Gradient = typename Type::Gradient |
See LhsExpressionInterface. | |
using | HessianType = Hessian<PassiveReal> |
Type of the Hessian. | |
using | Identifier = typename Type::Identifier |
See LhsExpressionInterface. | |
using | Impl = T_Impl |
See TapeHelperBase. | |
using | JacobianType = Jacobian<PassiveReal> |
Type of the Jacobian. | |
using | PassiveReal = typename RealTraits::PassiveReal<Real> |
Passive base of the CoDiPack type. | |
using | Real = typename Type::Real |
See LhsExpressionInterface. | |
using | Type = T_Type |
See TapeHelperBase. | |
Public Member Functions inherited from codi::TapeHelperNoImpl< Type > | |
void | evalHessian (typename Base::HessianType &hes, Jac &jac=StaticDummy< DummyJacobian >::dummy) |
Missing implementation will yield linker errors. | |
virtual void | evalPrimal (Real const *x, Real *y=nullptr)=0 |
Missing implementation will yield linker errors. | |
Public Member Functions inherited from codi::TapeHelperBase< T_Type, T_Impl > | |
Gradient * | createGradientVectorInput () |
Create a gradient vector that can hold the tangent/adjoint of the input variables. | |
Gradient * | createGradientVectorOutput () |
Create a gradient vector that can hold the tangent/adjoint of the output variables. | |
HessianType & | createHessian () |
Create a Hessian that can hold the Hessian of the recorded tape. | |
JacobianType & | createJacobian () |
Create a Jacobian that can hold the Jacobian of the recorded tape. | |
Real * | createPrimalVectorInput () |
Create a primal vector that can hold the primal seeding of the input variables. | |
Real * | createPrimalVectorOutput () |
Create a primal vector that can hold the primal result of the output variables. | |
void | deleteGradientVector (Gradient *vec) |
Delete a gradient vector that was created with createGradientVectorInput or createGradientVectorOutput. | |
void | deleteHessian (HessianType &hes) |
Delete the Hessian that was created with createHessian function. | |
void | deleteJacobian (JacobianType &jac) |
Delete the Jacobian that was created with createJacobian function. | |
void | deletePrimalVector (Real *vec) |
Delete a primal vector that was created with createPrimalVectorInput or createPrimalVectorOutput. | |
void | evalForward (Gradient const *x_d, Gradient *y_d) |
Perform a forward (tangent) evaluation of the recorded tape. | |
void | evalForwardAt (Real const *x, Gradient const *x_d, Gradient *y_d, Real *y=nullptr) |
Re-evaluate the tape with new input variables and compute the AD forward mode. | |
template<typename Jac = DummyJacobian> | |
void | evalHessian (HessianType &hes, Jac &jac=StaticDummy< DummyJacobian >::dummy) |
Evaluates the full Hessian of the recorded tape. | |
template<typename Jac = DummyJacobian> | |
void | evalHessianAt (Real const *x, HessianType &hes, Real *y=nullptr, Jac &jac=StaticDummy< DummyJacobian >::dummy) |
Re-evaluate the tape with new input variables and compute the full Hessian at the new inputs. | |
void | evalJacobian (JacobianType &jac) |
Evaluates the full Jacobian of the recorded tape. | |
void | evalJacobianAt (Real const *x, JacobianType &jac, Real *y=nullptr) |
Re-evaluate the tape with new input variables and compute the full Jacobian at the new inputs. | |
template<typename Jac > | |
void | evalJacobianGen (Jac &jac) |
Evaluates the full Jacobian of the recorded tape with a custom Jacobian type chosen by the user. | |
void | evalReverse (Gradient const *y_b, Gradient *x_b) |
Perform a reverse (adjoint) evaluation of the recorded tape. | |
void | evalReverseAt (Real const *x, Gradient const *y_b, Gradient *x_b, Real *y=nullptr) |
Re-evaluate the tape with new input variables and compute the AD forward mode. | |
size_t | getInputSize () |
size_t | getOutputSize () |
void | registerInput (Type &value) |
Add an input variable to the tape. | |
void | registerOutput (Type &value) |
Add an output variable to the tape. | |
void | startRecording () |
Start the recording process. Deletes the old tape. | |
void | stopRecording () |
Stop the recording process. | |
TapeHelperBase () | |
Constructor. | |
virtual | ~TapeHelperBase () |
Destructor. | |
Protected Types inherited from codi::TapeHelperBase< T_Type, T_Impl > | |
using | Tape = typename Type::Tape |
Underlying tape type. | |
Protected Member Functions inherited from codi::TapeHelperBase< T_Type, T_Impl > | |
Impl & | cast () |
Cast to the implementing class. | |
void | changeStateToForwardEvaluation () |
Change state. | |
void | changeStateToReverseEvaluation () |
Change state and clear the adjoints. | |
Protected Attributes inherited from codi::TapeHelperBase< T_Type, T_Impl > | |
std::vector< Identifier > | inputValues |
Input value identifiers. | |
std::vector< Identifier > | outputValues |
Input value identifiers. | |
Tape & | tape |
Reference to the global tape. | |
bool | wasForwardEvaluated |
State of the last evaluation. | |
See TapeHelperBase.