CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
template<class Vector_set >
void CppAD::local::reverse_sparse_hessian_csum_op ( size_t  i_z,
const addr_t *  arg,
bool *  rev_jacobian,
Vector_set &  rev_hes_sparsity 
)
inline

Reverse mode Hessian 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_setis the type used for vectors of sets. It can be either sparse_pack or sparse_list.
Parameters
i_zvariable index corresponding to the result for this operation; i.e. the index in sparsity corresponding to z.
argarg[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[0]+i] for i = 1 , ... , n is the value y(i).
rev_jacobianrev_jacobian[i_z] is all false (true) if the Jabobian of G with respect to z must be zero (may be non-zero).

For i = 1 , ... , m rev_jacobian[ arg[2+i] ] is all false (true) if the Jacobian with respect to x(i) is zero (may be non-zero). On input, it corresponds to the function G, and on output it corresponds to the function H.

For i = 1 , ... , n rev_jacobian[ arg[2+arg[0]+i] ] is all false (true) if the Jacobian with respect to y(i) is zero (may be non-zero). On input, it corresponds to the function G, and on output it corresponds to the function H.
rev_hes_sparsityThe set with index i_z in in rev_hes_sparsity is the Hessian sparsity pattern for the fucntion G where one of the partials derivative is with respect to z.

For i = 1 , ... , m The set with index arg[2+i] in rev_hes_sparsity is the Hessian sparsity pattern where one of the partials derivative is with respect to x(i). On input, it corresponds to the function G, and on output it corresponds to the function H.

For i = 1 , ... , n The set with index arg[2+arg[0]+i] in rev_hes_sparsity is the Hessian sparsity pattern where one of the partials derivative is with respect to y(i). On input, it corresponds to the function G, and on output it corresponds to the function H.

Definition at line 600 of file csum_op.hpp.

Referenced by rev_hes_sweep().