#include <CallRecord.h>
Public Member Functions | |
void | print (const std::string &indent) const |
template<typename Derived > | |
void | reverseAD2 (const Eigen::MatrixBase< Derived > &dFdT, JacobianMap &jacobians) const |
void | reverseAD2 (const Matrix &dFdT, JacobianMap &jacobians) const |
void | startReverseAD2 (JacobianMap &jacobians) const |
virtual | ~CallRecord () |
Private Member Functions | |
virtual void | _print (const std::string &indent) const =0 |
virtual void | _reverseAD3 (const Eigen::Matrix< double, 1, Cols > &dFdT, JacobianMap &jacobians) const =0 |
virtual void | _reverseAD3 (const Eigen::Matrix< double, 2, Cols > &dFdT, JacobianMap &jacobians) const =0 |
virtual void | _reverseAD3 (const Eigen::Matrix< double, 3, Cols > &dFdT, JacobianMap &jacobians) const =0 |
virtual void | _reverseAD3 (const Eigen::Matrix< double, 4, Cols > &dFdT, JacobianMap &jacobians) const =0 |
virtual void | _reverseAD3 (const Eigen::Matrix< double, 5, Cols > &dFdT, JacobianMap &jacobians) const =0 |
virtual void | _reverseAD3 (const Eigen::Matrix< double, Eigen::Dynamic, Cols > &dFdT, JacobianMap &jacobians) const =0 |
virtual void | _reverseAD3 (const Matrix &dFdT, JacobianMap &jacobians) const =0 |
virtual void | _startReverseAD3 (JacobianMap &jacobians) const =0 |
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.
Definition at line 69 of file CallRecord.h.
|
inlinevirtual |
Definition at line 101 of file CallRecord.h.
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
privatepure virtual |
|
inline |
Definition at line 72 of file CallRecord.h.
|
inline |
Definition at line 90 of file CallRecord.h.
|
inline |
Definition at line 97 of file CallRecord.h.
|
inline |
Definition at line 81 of file CallRecord.h.