CoDiPack  3.1.1
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::ArrayAccessExpressionImpl< T_Aggregated, T_element >::ArrayAccessOperation< T_Real > Struct Template Reference

#include <arrayAccessExpression.hpp>

Inheritance diagram for codi::ArrayAccessExpressionImpl< T_Aggregated, T_element >::ArrayAccessOperation< T_Real >:

Public Types

using Jacobian = Aggregated
 Jacobian is the aggregated type.
using Real = T_Real
 See ArrayAccessOperation.
Public Types inherited from codi::UnaryOperation< T_Real, ArrayAccessOperation< T_Real > >
using Impl
 See UnaryOperation.
using Real
 See UnaryOperation.
Public Types inherited from codi::ComputeOperation< T_Real >
using Real = T_Real
 See ComputeOperation.

Static Public Member Functions

template<typename Adjoint, typename Arg>
static inlineauto applyAdjointArg (Adjoint const &adjoint, Real const &result, Arg const &arg)
template<typename Tangent, typename Arg>
static inlineauto applyTangentArg (Tangent const &tangent, Real const &result, Arg const &arg)
template<typename Arg>
static inlineReal primal (Arg const &arg)
Static Public Member Functions inherited from codi::UnaryOperation< T_Real, ArrayAccessOperation< T_Real > >
static inlineauto applyAdjoint (Adjoint const &adjoint, Real const &result, Arg const &arg)
static inlineauto applyAdjointArg (Adjoint const &adjoint, Real const &result, Arg const &arg)
static inlineauto applyTangent (Tangent const &tangent, Real const &result, Arg const &arg)
static inlineauto applyTangentArg (Tangent const &tangent, Real const &result, Arg const &arg)
static inlineReal primal (Arg const &arg)
Static Public Member Functions inherited from codi::ComputeOperation< T_Real >
template<size_t argNumber, typename Adjoint, typename... Args>
static inlineauto applyAdjoint (Adjoint const &adjoint, Real const &result, Args const &... args)
template<size_t argNumber, typename Tangent, typename... Args>
static inlineauto applyTangent (Tangent const &tangent, Real const &result, Args const &... args)
static inlinestd::string getMathRep ()
 Get the math symbol of the operation. E.g. + for operators and pow() for functions.
template<typename... Args>
static inlineReal primal (Args const &... args)

Detailed Description

template<typename T_Aggregated, size_t T_element>
template<typename T_Real>
struct codi::ArrayAccessExpressionImpl< T_Aggregated, T_element >::ArrayAccessOperation< T_Real >

Operation for array access.

Template Parameters
T_OpRealReal value of the operator.

Member Function Documentation

◆ applyAdjointArg()

template<typename T_Aggregated, size_t T_element>
template<typename T_Real>
template<typename Adjoint, typename Arg>
inlineauto codi::ArrayAccessExpressionImpl< T_Aggregated, T_element >::ArrayAccessOperation< T_Real >::applyAdjointArg ( Adjoint const & adjoint,
Real const & result,
Arg const & arg )
inlinestatic

Apply the reverse AD mode with respect to the argument on the adjoint and return the result. Computes $ \bar x = \frac{\d f}{\d x}^T \bar w $

◆ applyTangentArg()

template<typename T_Aggregated, size_t T_element>
template<typename T_Real>
template<typename Tangent, typename Arg>
inlineauto codi::ArrayAccessExpressionImpl< T_Aggregated, T_element >::ArrayAccessOperation< T_Real >::applyTangentArg ( Tangent const & tangent,
Real const & result,
Arg const & arg )
static

Apply the forward AD mode with respect to the argument on the tangent and return the result. Computes $ \dot w = \frac{\d f}{\d x} \dot x $

◆ primal()

template<typename T_Aggregated, size_t T_element>
template<typename T_Real>
template<typename Arg>
inlineReal codi::ArrayAccessExpressionImpl< T_Aggregated, T_element >::ArrayAccessOperation< T_Real >::primal ( Arg const & arg)
inlinestatic

Compute the primal value from the arguments. E.g. evaluates $ w = f(x)$

The argument types are the types of the result of a getValue call on the expression.


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