CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
template<typename Base >
template<typename VectorBase , typename SizeVector >
void CppAD::ADFun< Base >::subgraph_reverse ( size_t  q,
size_t  ell,
SizeVector &  col,
VectorBase &  dw 
)

Use reverse mode to compute derivative of Taylor coefficients on a subgraph.

The function $ X : {\bf R} \times {\bf R}^{n \times q} \rightarrow {\bf R} $ is defined by

\[ X(t , u) = \sum_{k=0}^{q-1} u^{(k)} t^k \]

The function $ Y : {\bf R} \times {\bf R}^{n \times q} \rightarrow {\bf R} $ is defined by

\[ Y(t , u) = F[ X(t, u) ] \]

The function $ W : {\bf R}^{n \times q} \rightarrow {\bf R} $ is defined by

\[ W(u) = \sum_{k=0}^{q-1} ( w^{(k)} )^{\rm T} \frac{1}{k !} \frac{ \partial^k } { t^k } Y(0, u) \]

Parameters
qis the number of Taylor coefficient we are differentiating.
ellis the component of the range that is selected for differentiation.
colis the set of indices j = col[c] where the return value is defined. If an index j is not in col, then either its derivative is zero, or it is not in select_domain.
dwIs a vector $ dw $ such that for j = col[c], $ k = 0 , \ldots , q-1 $

\[ dw[ j * q + k ] = W^{(1)} ( x )_{j,k} \]

where the matrix $ x $ is the value for $ u $ that corresponding to the forward mode Taylor coefficients for the independent variables as specified by previous calls to Forward.
subgraph_info.process_range()
The element process_range[ell] is set to true by this operation.
subgraph_info.in_subgraph_
some of the elements of this vector are set to have value ell (so it can not longer be used to determine the subgraph corresponding to the ell-th dependent variable).

Definition at line 259 of file subgraph_reverse.hpp.