GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Member Functions | List of all members
gtsam::internal::CallRecord< Cols > Struct Template Referenceabstract

#include <CallRecord.h>

Inheritance diagram for gtsam::internal::CallRecord< Cols >:
Inheritance graph
[legend]

Public Member Functions

void print (const std::string &indent) const
 
void startReverseAD2 (JacobianMap &jacobians) const
 
template<typename Derived >
void reverseAD2 (const Eigen::MatrixBase< Derived > &dFdT, JacobianMap &jacobians) const
 
void reverseAD2 (const Matrix &dFdT, JacobianMap &jacobians) const
 

Detailed Description

template<int Cols>
struct gtsam::internal::CallRecord< Cols >

The CallRecord is an abstract base class for any class that stores the Jacobians of applying a function with respect to each of its arguments, as well as an execution trace for each of its arguments.

The complicated structure of this class is to get around the limitations of mixing inheritance (needed so that a trace can keep Record pointers) and templating (needed for efficient matrix multiplication). The "hack" is to implement N differently sized reverse AD methods, and select the appropriate version with the dispatch method reverseAD2 below.


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