CppAD: A C++ Algorithmic Differentiation Package  20171217
template<class Base >
 void CppAD::local::reverse_sign_op ( size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base * taylor, size_t nc_partial, Base * partial )
inline

Compute reverse mode partial derivatives for result of op = SignOp.

The C++ source code corresponding to this operation is

```     z = sign(x)
```

This routine is given the partial derivatives of a function G(z , x , w, u ... ) and it uses them to compute the partial derivatives of

```     H( x , w , u , ... ) = G[ z(x) , x , w , u , ... ]
```
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 highest order Taylor coefficient that we are computing the partial derivatives with respect to. i_z variable index corresponding to the result for this operation; i.e. the row index in taylor to z. i_x variable index corresponding to the argument for this operation; i.e. the row index in taylor corresponding to x. cap_order maximum number of orders that will fit in the `taylor` array. taylor taylor [ i_x * cap_order + k ] for k = 0 , ... , d is the k-th order Taylor coefficient corresponding to x. taylor [ i_z * cap_order + k ] for k = 0 , ... , d is the k-th order Taylor coefficient corresponding to z. nc_partial number of colums in the matrix containing all the partial derivatives. partial Input: partial [ i_x * nc_partial + k ] for k = 0 , ... , d is the partial derivative of G( z , x , w , u , ... ) with respect to the k-th order Taylor coefficient for x. Input: partial [ i_z * nc_partial + k ] for k = 0 , ... , d is the partial derivative of G( z , x , w , u , ... ) with respect to the k-th order Taylor coefficient for z. Output: partial [ i_x * nc_partial + k ] for k = 0 , ... , d is the partial derivative of H( x , w , u , ... ) with respect to the k-th order Taylor coefficient for x. Output: partial [ i_z * nc_partial + k ] for k = 0 , ... , d may be used as work space; i.e., may change in an unspecified manner.
Checked Assumptions
• NumArg(op) == 1
• NumRes(op) == 1
• i_x < i_z
• d < cap_order
• d < nc_partial

Definition at line 134 of file sign_op.hpp.

Referenced by reverse_sweep().