|
template<class Base >
void forward_subvv_op |
( |
size_t |
d, |
|
|
size_t |
i_z, |
|
|
const size_t * |
arg, |
|
|
const Base * |
parameter, |
|
|
size_t |
nc_taylor, |
|
|
Base * |
taylor |
|
) |
| [inline] |
Compute forward mode Taylor coefficients for result of op = SubvvOp.
The C++ source code corresponding to this operation is
In the documentation below, this operations is for the case where both x and y are variables and the argument parameter is not used.
- 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:
-
d | order of the Taylor coefficient 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. |
nc_taylor | number of colums in the matrix containing all the Taylor coefficients. |
taylor | Input: If x is a variable, taylor [ arg[0] * nc_taylor + k ] for k = 0 , ... , d is the k-th order Taylor coefficient corresponding to x.
Input: If y is a variable, taylor [ arg[1] * nc_taylor + k ] for k = 0 , ... , d is the k-th order Taylor coefficient corresponding to y.
Input: taylor [ i_z * nc_taylor + k ] for k = 0 , ... , d - 1 is the k-th order Taylor coefficient corresponding to z.
Output: taylor [ i_z * nc_taylor + d ] is the d-th order Taylor coefficient corresponding to z. |
- Checked Assertions
- NumArg(op) == 2
- NumRes(op) == 1
- If x is a variable, arg[0] < i_z
- If y is a variable, arg[1] < i_z
- d < nc_taylor
Definition at line 38 of file sub_op.hpp.
Referenced by forward_sweep().
|