CppAD: A C++ Algorithmic Differentiation Package  20171217
template<class Vector_set >
 void CppAD::local::reverse_sparse_jacobian_csum_op ( size_t i_z, const addr_t * arg, Vector_set & sparsity )
inline

Reverse mode Jacobian sparsity pattern for CSumOp operator.

This operation is

```     z = q + x(1) + ... + x(m) - y(1) - ... - y(n).
H(y, x, w, ...) = G[ z(x, y), y, x, w, ... ]
```
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 index in sparsity corresponding to z. arg arg[0] is the number of addition variables in this cummulative summation; i.e., `m + n`. arg[1] is the number of subtraction variables in this cummulative summation; i.e., `m`. `parameter[ arg[2] ]` is the parameter value `q` in this cummunative summation. `arg[2+i]` for `i = 1 , ... , m` is the value `x(i)`. `arg[2+arg[1]+i]` for `i = 1 , ... , n` is the value `y(i)`. sparsity For `i = 1 , ... , m`, the set with index arg[2+i] in sparsity is the sparsity bit pattern for `x(i)`. This identifies which of the dependent variables depend on `x(i)`. On input, the sparsity patter corresponds to `G`, and on ouput it corresponds to `H`. For `i = 1 , ... , m`, the set with index arg[2+arg[0]+i] in sparsity is the sparsity bit pattern for `y(i)`. This identifies which of the dependent variables depend on `y(i)`. On input, the sparsity patter corresponds to `G`, and on ouput it corresponds to `H`. Input: The set with index i_z in sparsity is the sparsity bit pattern for z. On input it corresponds to `G` and on output it is undefined.

Definition at line 502 of file csum_op.hpp.

Referenced by rev_jac_sweep().