CoDiPack  3.0.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::OperationComplexPolar< T_ComplexReal > Struct Template Reference

BinaryJacobianOperation specialization for complex polar. More...

#include <allOperators.hpp>

Inheritance diagram for codi::OperationComplexPolar< T_ComplexReal >:

Public Types

using ComplexReal = T_ComplexReal
 See OperationComplexPolar.
 
using Real = typename ComplexReal::value_type
 Inner type of the complex value.
 
- Public Types inherited from codi::BinaryOperation< T_ComplexReal, OperationComplexPolar< T_ComplexReal > >
using Impl
 See BinaryOperation.
 
using Real
 See BinaryOperation.
 
- Public Types inherited from codi::ComputeOperation< T_ComplexReal >
using Real
 See ComputeOperation.
 

Static Public Member Functions

template<typename Adjoint, typename ArgA, typename ArgB>
static inlineReal applyAdjointArgA (Adjoint const &adjoint, ComplexReal const &result, ArgA const &argA, ArgB const &argB)
 
template<typename Adjoint, typename ArgA, typename ArgB>
static inlineReal applyAdjointArgB (Adjoint const &adjoint, ComplexReal const &result, ArgA const &argA, ArgB const &argB)
 
template<typename Tangent, typename ArgA, typename ArgB>
static inlineauto applyTangentArgA (Tangent const &tangent, ComplexReal const &result, ArgA const &argA, ArgB const &argB)
 
template<typename Tangent, typename ArgA, typename ArgB>
static inlineauto applyTangentArgB (Tangent const &tangent, ComplexReal const &result, ArgA const &argA, ArgB const &argB)
 
static inlinestd::string getMathRep ()
 Get the math symbol of the operation. E.g. + for operators and pow() for functions.
 
template<typename ArgA, typename ArgB>
static inlineComplexReal primal (ArgA const &argA, ArgB const &argB)
 
- Static Public Member Functions inherited from codi::BinaryOperation< T_ComplexReal, OperationComplexPolar< T_ComplexReal > >
static inlineauto applyAdjoint (Adjoint const &adjoint, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyAdjointArgA (Adjoint const &adjoint, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyAdjointArgB (Adjoint const &adjoint, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyTangent (Tangent const &tangent, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyTangentArgA (Tangent const &tangent, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyTangentArgB (Tangent const &tangent, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineReal primal (ArgA const &argA, ArgB const &argB)
 
- Static Public Member Functions inherited from codi::ComputeOperation< T_ComplexReal >
static inlineauto applyAdjoint (Adjoint const &adjoint, Real const &result, Args const &... 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.
 
static inlineReal primal (Args const &... args)
 

Detailed Description

template<typename T_ComplexReal>
struct codi::OperationComplexPolar< T_ComplexReal >

BinaryJacobianOperation specialization for complex polar.

Member Function Documentation

◆ applyAdjointArgA()

template<typename T_ComplexReal>
template<typename Adjoint, typename ArgA, typename ArgB>
static inlineReal codi::OperationComplexPolar< T_ComplexReal >::applyAdjointArgA ( Adjoint const & adjoint,
ComplexReal const & result,
ArgA const & argA,
ArgB const & argB )
inlinestatic

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

◆ applyAdjointArgB()

template<typename T_ComplexReal>
template<typename Adjoint, typename ArgA, typename ArgB>
static inlineReal codi::OperationComplexPolar< T_ComplexReal >::applyAdjointArgB ( Adjoint const & adjoint,
ComplexReal const & result,
ArgA const & argA,
ArgB const & argB )
inlinestatic

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

◆ applyTangentArgA()

template<typename T_ComplexReal>
template<typename Tangent, typename ArgA, typename ArgB>
static inlineauto codi::OperationComplexPolar< T_ComplexReal >::applyTangentArgA ( Tangent const & tangent,
ComplexReal const & result,
ArgA const & argA,
ArgB const & argB )
static

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

◆ applyTangentArgB()

template<typename T_ComplexReal>
template<typename Tangent, typename ArgA, typename ArgB>
static inlineauto codi::OperationComplexPolar< T_ComplexReal >::applyTangentArgB ( Tangent const & tangent,
ComplexReal const & result,
ArgA const & argA,
ArgB const & argB )
static

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

◆ getMathRep()

template<typename T_ComplexReal>
static inlinestd::string codi::OperationComplexPolar< T_ComplexReal >::getMathRep ( )
inlinestatic

Get the math symbol of the operation. E.g. + for operators and pow() for functions.

◆ primal()

template<typename T_ComplexReal>
template<typename ArgA, typename ArgB>
static inlineComplexReal codi::OperationComplexPolar< T_ComplexReal >::primal ( ArgA const & argA,
ArgB const & argB )
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: