CppAD: A C++ Algorithmic Differentiation Package
20171217


inline 
Reverse mode sparsity operations for StpvOp and StvvOp.
The C++ source code corresponding to this operation is
v[x] = y
where v is a VecAD<Base> vector, x is an AD<Base> object, and y is AD<Base> or Base objects. We define the index corresponding to v[x] by
i_v_x = index_by_ind[ arg[0] + i_vec ]
where i_vec is defined under the heading arg[1] below:
This routine is given the sparsity patterns for G(v[x], y , w , u ... ) and it uses them to compute the sparsity patterns for
H(y , w , u , ... ) = G[ v[x], y , w , u , ... ]
Vector_set  is the type used for vectors of sets. It can be either sparse_pack or sparse_list. 
op  is the code corresponding to this operator; i.e., StpvOp, StvpOp, or StvvOp. 
arg  arg[0] is the offset corresponding to this VecAD vector in the combined array. arg[2] The set with index arg[2] in var_sparsity is the sparsity pattern corresponding to y. (Note that arg[2] > 0 because y is a variable.) 
num_combined  is the total number of elements in the VecAD address array. 
combined  combined [ arg[0]  1 ] is the index of the set in vecad_sparsity corresponding to the sparsity pattern for the vector v. We use the notation i_v below which is defined by i_v = combined[ \a arg[0]  1 ] 
var_sparsity  The set with index arg[2] in var_sparsity is the sparsity pattern for y. This is an input for forward mode operations. For reverse mode operations: The sparsity pattern for v is added to the spartisy pattern for y. 
vecad_sparsity  The set with index i_v in vecad_sparsity is the sparsity pattern for v. This is an input for reverse mode operations. For forward mode operations, the sparsity pattern for y is added to the sparsity pattern for the vector v. 
var_jacobian  var_jacobian[ arg[2] ] is false (true) if the Jacobian of G with respect to y is always zero (may be nonzero). 
vecad_jacobian  vecad_jacobian[i_v] is false (true) if the Jacobian with respect to x is always zero (may be nonzero). On input, it corresponds to the function G, and on output it corresponds to the function H. 
Definition at line 472 of file store_op.hpp.
Referenced by rev_hes_sweep().