CppAD: A C++ Algorithmic Differentiation Package  20171217
template<class Vector_set >
 void CppAD::local::reverse_sparse_hessian_pow_op ( size_t i_z, const addr_t * arg, bool * jac_reverse, const Vector_set & for_jac_sparsity, Vector_set & rev_hes_sparsity )
inline

Reverse mode Hessian sparsity pattern for power function.

The C++ source code corresponding to a unary operation has the form

```     z = pow(x, y)
```

where x and y are variables.

This routine is given the sparsity patterns the Hessian of a function G(z, y, x, ... ) and it uses them to compute the sparsity patterns for the Hessian of

```     H( y, x, w , u , ... ) = G[ z(x,y) , y , x , w , u , ... ]
```
Template Parameters
 Vector_set is the type used for vectors of sets. It can be either sparse_pack or sparse_list.
Parameters
 i_z variable index corresponding to the result for this operation; i.e. the row index in sparsity corresponding to z. arg arg[0] variable index corresponding to the left operand for this operator; i.e. the set with index arg[0] in var_sparsity is the spasity pattern correspoding to x. arg[1] variable index corresponding to the right operand for this operator; i.e. the row index in sparsity patterns corresponding to y. jac_reverse jac_reverse[i_z] is false (true) if the Jacobian of G with respect to z is always zero (may be non-zero). jac_reverse[ arg[0] ] is false (true) if the Jacobian with respect to x is always zero (may be non-zero). On input, it corresponds to the function G, and on output it corresponds to the function H. jac_reverse[ arg[1] ] is false (true) if the Jacobian with respect to y is always zero (may be non-zero). On input, it corresponds to the function G, and on output it corresponds to the function H. for_jac_sparsity The set with index arg[0] in for_jac_sparsity for the is the forward Jacobian sparsity pattern for x. The set with index arg[1] in for_jac_sparsity is the forward sparsity pattern for y. rev_hes_sparsity The set wiht index i_x in rev_hes_sparsity is the Hessian sparsity pattern for the function G where one of the partial derivatives is with respect to z. The set with index arg[0] in rev_hes_sparsity is the Hessian sparsity pattern where one of the partial derivatives is with respect to x. On input, it corresponds to the function G, and on output it correspondst to H. The set with index arg[1] in rev_hes_sparsity is the Hessian sparsity pattern where one of the partial derivatives is with respect to y. On input, it corresponds to the function G, and on output it correspondst to H.
Checked Assertions:
• arg[0] < i_z
• arg[1] < i_z

Definition at line 293 of file sparse_binary_op.hpp.

Referenced by rev_hes_sweep().