CppAD: A C++ Algorithmic Differentiation Package  20171217
template<class Base >
 void CppAD::local::forward_subvp_op_dir ( size_t q, size_t r, size_t i_z, const addr_t * arg, const Base * parameter, size_t cap_order, Base * taylor )
inline

Multiple directions forward mode Taylor coefficients for op = SubvvOp.

The C++ source code corresponding to this operation is

```     z = x - y
```

In the documentation below, this operations is for the case where x is a variable and y is a parameter.

Template Parameters
 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.
Parameters
 q is the order of the Taylor coefficients that we are computing. r number of directions for Taylor coefficients that we are computing i_z variable index corresponding to the result for this operation; i.e. the row index in taylor corresponding to z. arg arg[0] index corresponding to the left operand for this operator; i.e. the index corresponding to x. arg[1] index corresponding to the right operand for this operator; i.e. the index corresponding to y. parameter If x is a parameter, parameter [ arg[0] ] is the value corresponding to x. If y is a parameter, parameter [ arg[1] ] is the value corresponding to y. cap_order maximum number of orders that will fit in the `taylor` array.
tpv
We use the notation `tpv = (cap_order-1) * r + 1` which is the number of Taylor coefficients per variable
Parameters
 taylor Input: If x is a variable, `taylor [ arg[0] * tpv + 0 ]`, is the zero order Taylor coefficient for all directions and `taylor [ arg[0] * tpv + (k-1)*r + ell + 1 ]`, for k = 1 , ... , q, ell = 0, ..., r-1, is the k-th order Taylor coefficient corresponding to x and the ell-th direction. Input: If y is a variable, `taylor [ arg[1] * tpv + 0 ]`, is the zero order Taylor coefficient for all directions and `taylor [ arg[1] * tpv + (k-1)*r + ell + 1 ]`, for k = 1 , ... , q, ell = 0, ..., r-1, is the k-th order Taylor coefficient corresponding to y and the ell-th direction. Input: `taylor [ i_z * tpv + 0 ]`, is the zero order Taylor coefficient for all directions and `taylor [ i_z * tpv + (k-1)*r + ell + 1 ]`, for k = 1 , ... , q-1, ell = 0, ..., r-1, is the k-th order Taylor coefficient corresponding to z and the ell-th direction. Output: `taylor [ i_z * tpv + (q-1)*r + ell + 1]`, ell = 0, ..., r-1, is the q-th order Taylor coefficient corresponding to z and the ell-th direction.
Checked Assertions
• NumArg(op) == 2
• NumRes(op) == 1
• 0 < q < cap_order

Definition at line 397 of file sub_op.hpp.

Referenced by forward2sweep().