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

General interface for Hessian access in CoDiPack. More...

#include <hessianInterface.hpp>

Inheritance diagram for codi::HessianInterface< T_T >:

Public Types

using T = T_T
 See HessianInterface.
 

Public Member Functions

size_t getM () const
 Get size of rows (output variables).
 
size_t getN () const
 Get size of columns (input variables).
 
Toperator() (size_t const i, size_t const j, size_t const k)
 Reference access.
 
T operator() (size_t const i, size_t const j, size_t const k) const
 Value access.
 
void resize (size_t const m, size_t const n)
 Resize to the new dimensions.
 
size_t size () const
 Get total size of the Hessian.
 
virtual ~HessianInterface ()
 Destructor.
 

Detailed Description

template<typename T_T>
struct codi::HessianInterface< T_T >

General interface for Hessian access in CoDiPack.

See Mathematical naming conventions for the naming conventions.

In the access function:

  • i: Output value of the function. Range: [0, m).
  • j: Input value of the function. First derivative direction. Range: [0,n).
  • k: Input value of the function. Second derivative direction. Range: [0,n).
Template Parameters
T_TData type.

Helper methods which store or read data from a Hessian expect it to implement this interface.

See Mathematical naming conventions for the mathematical nomenclature of the arguments and components.

Template Parameters
T_TThe data type in the Hessian.

Member Function Documentation

◆ operator()() [1/2]

template<typename T_T >
T & codi::HessianInterface< T_T >::operator() ( size_t const  i,
size_t const  j,
size_t const  k 
)

Reference access.

Parameters
[in]iOutput value of the function. Range: [0, m).
[in]jInput value of the function. First derivative direction. Range: [0,n).
[in]kInput value of the function. Second derivative direction. Range: [0,n).

◆ operator()() [2/2]

template<typename T_T >
T codi::HessianInterface< T_T >::operator() ( size_t const  i,
size_t const  j,
size_t const  k 
) const

Value access.

Parameters
[in]iOutput value of the function. Range: [0, m).
[in]jInput value of the function. First derivative direction. Range: [0,n).
[in]kInput value of the function. Second derivative direction. Range: [0,n).

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