CoDiPack  2.2.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::TapeHelperJacobi< T_Type > Struct Template Reference

#include <tapeHelper.hpp>

Inheritance diagram for codi::TapeHelperJacobi< T_Type >:

Public Types

using Base = TapeHelperBase<Type, TapeHelperJacobi<Type>>
 Base class abbreviation.
 
using Real = typename Type::Real
 See TapeHelperBase.
 
using Type = T_Type
 See TapeHelperBase.
 
- Public Types inherited from codi::TapeHelperBase< T_Type, TapeHelperJacobi< T_Type > >
using Gradient
 See LhsExpressionInterface.
 
using HessianType
 Type of the Hessian.
 
using Identifier
 See LhsExpressionInterface.
 
using Impl
 See TapeHelperBase.
 
using JacobianType
 Type of the Jacobian.
 
using PassiveReal
 Passive base of the CoDiPack type.
 
using Real
 See LhsExpressionInterface.
 
using Type
 See TapeHelperBase.
 

Public Member Functions

template<typename Jac = DummyJacobian>
void evalHessian (typename Base::HessianType &hes, Jac &jac=StaticDummy< DummyJacobian >::dummy)
 Throws an exception since primal evaluations are not supported by Jacobian tapes.
 
virtual void evalPrimal (Real const *x, Real *y=nullptr)
 Throws an exception since primal evaluations are not support by Jacobian tapes.
 
- Public Member Functions inherited from codi::TapeHelperBase< T_Type, TapeHelperJacobi< T_Type > >
GradientcreateGradientVectorInput ()
 Create a gradient vector that can hold the tangent/adjoint of the input variables.
 
GradientcreateGradientVectorOutput ()
 Create a gradient vector that can hold the tangent/adjoint of the output variables.
 
HessianTypecreateHessian ()
 Create a Hessian that can hold the Hessian of the recorded tape.
 
JacobianTypecreateJacobian ()
 Create a Jacobian that can hold the Jacobian of the recorded tape.
 
RealcreatePrimalVectorInput ()
 Create a primal vector that can hold the primal seeding of the input variables.
 
RealcreatePrimalVectorOutput ()
 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.
 
void evalHessian (HessianType &hes, Jac &jac=StaticDummy< DummyJacobian >::dummy)
 Evaluates the full Hessian of the recorded tape.
 
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.
 
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.
 

Additional Inherited Members

- Protected Types inherited from codi::TapeHelperBase< T_Type, TapeHelperJacobi< T_Type > >
using Tape
 Underlying tape type.
 
- Protected Member Functions inherited from codi::TapeHelperBase< T_Type, TapeHelperJacobi< T_Type > >
Implcast ()
 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, TapeHelperJacobi< T_Type > >
std::vector< IdentifierinputValues
 Input value identifiers.
 
std::vector< IdentifieroutputValues
 Input value identifiers.
 
Tape & tape
 Reference to the global tape.
 
bool wasForwardEvaluated
 State of the last evaluation.
 

Detailed Description

template<typename T_Type>
struct codi::TapeHelperJacobi< T_Type >

TapeHelper implementation for the Jacobian taping strategy.

See TapeHelperBase for details.

Template Parameters
T_TypeThe CoDiPack type on which the evaluations take place.

Member Function Documentation

◆ evalPrimal()

template<typename T_Type >
virtual void codi::TapeHelperJacobi< T_Type >::evalPrimal ( Real const * x,
Real * y = nullptr )
inlinevirtual

Throws an exception since primal evaluations are not support by Jacobian tapes.

Implements codi::TapeHelperBase< T_Type, TapeHelperJacobi< T_Type > >.


The documentation for this struct was generated from the following file: