CppAD: A C++ Algorithmic Differentiation Package
20130102
|
void forward_powvv_op | ( | size_t | d, |
size_t | i_z, | ||
const addr_t * | arg, | ||
const Base * | parameter, | ||
size_t | nc_taylor, | ||
Base * | taylor | ||
) | [inline] |
Compute forward mode Taylor coefficients for result of op = PowvvOp.
In the documentation below, this operations is for the case where both x and y are variables and the argument parameter is not used.
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. |
d | order of the Taylor coefficient that we are computing. |
i_z | variable index corresponding to the last (primary) result for this operation; i.e. the row index in taylor corresponding to z. Note that there are three results for this operation, below they are referred to as z_0, z_1, z_2 and correspond to z_0 = log(x) z_1 = z0 * y z_2 = exp(z1) |
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 - 2 + j) * nc_taylor + k ] for j = 0, 1, 2 , and for k = 0 , ... , d - 1 is the k-th order Taylor coefficient corresponding to z_j. Output: taylor [ (i_z - 2 + j) * nc_taylor + d ] is the d-th order Taylor coefficient corresponding to z_j. |
Definition at line 36 of file pow_op.hpp.
Referenced by forward_sweep().