CppAD: A C++ Algorithmic Differentiation Package
20130102
|
void reverse_load_op | ( | OpCode | op, |
size_t | d, | ||
size_t | i_z, | ||
const addr_t * | arg, | ||
size_t | nc_taylor, | ||
const Base * | taylor, | ||
size_t | nc_partial, | ||
Base * | partial | ||
) | [inline] |
Reverse mode for op = LdpOp or LdvOp.
The C++ source code corresponding to this operation is
z = y[x]
where y is a VecAD<Base> vector and x is an AD<Base> or Base index.
This routine is given the partial derivatives of a function G(z , y[x] , w , u ... ) and it uses them to compute the partial derivatives of
H( y[x] , w , u , ... ) = G[ z( y[x] ) , y[x] , w , u , ... ]
Base | base type for the operator; i.e., this operation was recorded using AD< Base > and computations by this routine are done using type Base. |
op | is the code corresponding to this operator; i.e., LdpOp or LdvOp (only used for error checking). |
d | highest order the Taylor coefficient that we are computing the partial derivative with respect to. |
i_z | is the AD variable index corresponding to the variable z. |
arg | arg[2] If y[x] is a parameter, arg[2] is zero (which is not a valid variable index). If y[x] is a variable, arg[2] is the variable index corresponding to y[x]. |
nc_taylor | number of columns in the matrix containing the Taylor coefficients (not used). |
taylor | matrix of Taylor coefficients (not used). |
nc_partial | number of colums in the matrix containing all the partial derivatives (not used if arg[2] is zero). |
partial | If arg[2] is zero, y[x] is a parameter and no values need to be modified; i.e., partial is not used. Otherwise, y[x] is a variable and: partial [ i_z * nc_partial + k ] for k = 0 , ... , d is the partial derivative of G with respect to the k-th order Taylor coefficient for z. If arg[2] is not zero, partial [ arg[2] * nc_partial + k ] for k = 0 , ... , d is the partial derivative with respect to the k-th order Taylor coefficient for x. On input, it corresponds to the function G, and on output it corresponds to the the function H. |
Definition at line 270 of file load_op.hpp.
Referenced by ReverseSweep().