33 template<
bool ConvertToDynamicRows>
35 template<
typename Derived>
44 template<
typename Derived>
45 static const Eigen::Matrix<double, Derived::RowsAtCompileTime,
51 template <
int Rows,
int Cols>
72 inline void print(
const std::string& indent)
const {
82 _startReverseAD3(jacobians);
89 template <
typename Derived>
98 _reverseAD3(dFdT, jacobians);
106 virtual void _print(
const std::string& indent)
const = 0;
107 virtual void _startReverseAD3(
JacobianMap& jacobians)
const = 0;
109 virtual void _reverseAD3(
const Matrix & dFdT,
112 virtual void _reverseAD3(
139 template<
typename Derived,
int Cols>
144 return static_cast<const Derived&
>(*this);
147 void _print(
const std::string& indent)
const override {
148 derived().print(indent);
154 derived().startReverseAD4(jacobians);
158 derived().reverseAD4(dFdT, jacobians);
164 derived().reverseAD4(dFdT, jacobians);
168 derived().reverseAD4(dFdT, jacobians);
172 derived().reverseAD4(dFdT, jacobians);
176 derived().reverseAD4(dFdT, jacobians);
180 derived().reverseAD4(dFdT, jacobians);
184 derived().reverseAD4(dFdT, jacobians);
void reverseAD2(const Eigen::MatrixBase< Derived > &dFdT, JacobianMap &jacobians) const
static const Eigen::Matrix< double, Rows, Cols > & convert(const Eigen::Matrix< double, Rows, Cols > &x)
void _reverseAD3(const Eigen::Matrix< double, Eigen::Dynamic, Cols > &dFdT, JacobianMap &jacobians) const override
static const Eigen::Matrix< double, Derived::RowsAtCompileTime, Derived::ColsAtCompileTime > convert(const Eigen::MatrixBase< Derived > &x)
void _reverseAD3(const Eigen::Matrix< double, 3, Cols > &dFdT, JacobianMap &jacobians) const override
JacobianMap for returning derivatives from expressions.
void _reverseAD3(const Eigen::Matrix< double, 2, Cols > &dFdT, JacobianMap &jacobians) const override
void _reverseAD3(const Eigen::Matrix< double, 4, Cols > &dFdT, JacobianMap &jacobians) const override
void _reverseAD3(const Eigen::Matrix< double, 1, Cols > &dFdT, JacobianMap &jacobians) const override
const Derived & derived() const
static Eigen::Matrix< double, Eigen::Dynamic, Derived::ColsAtCompileTime > convert(const Eigen::MatrixBase< Derived > &x)
void _print(const std::string &indent) const override
void reverseAD2(const Matrix &dFdT, JacobianMap &jacobians) const
void startReverseAD2(JacobianMap &jacobians) const
void _reverseAD3(const Eigen::Matrix< double, 5, Cols > &dFdT, JacobianMap &jacobians) const override
void _reverseAD3(const Matrix &dFdT, JacobianMap &jacobians) const override
void _startReverseAD3(JacobianMap &jacobians) const override
The matrix class, also used for vectors and row-vectors.
void print(const std::string &indent) const
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
const int CallRecordMaxVirtualStaticRows
Base class for all dense matrices, vectors, and expressions.