CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
template<class Base>
template<class InternalSparsity >
void CppAD::atomic_base< Base >::rev_sparse_hes ( const vector< Base > &  x,
const vector< size_t > &  x_index,
const vector< size_t > &  y_index,
const InternalSparsity &  for_jac_sparsity,
bool *  rev_jac_flag,
InternalSparsity &  rev_hes_sparsity 

Link, before case split, from rev_hes_sweep to atomic_base.

Template Parameters
InternalSparsityIs the used internaly for sparsity calculations; i.e., sparse_pack or sparse_list.
xis parameter arguments to the function, other components are nan.
x_indexis the variable index, on the tape, for the arguments to this function. This size of x_index is n, the number of arguments to this function.
y_indexis the variable index, on the tape, for the results for this function. This size of y_index is m, the number of results for this function.
for_jac_sparsityOn input, for j = 0, ... , n-1, the sparsity pattern with index x_index[j], is the forward Jacobian sparsity for the j-th argument to this atomic function.
rev_jac_flagThis shows which variables affect the function we are computing the Hessian of. On input, for i = 0, ... , m-1, the rev_jac_flag[ y_index[i] ] is true if the Jacobian of function (we are computing sparsity for) is no-zero. Upon return, for j = 0, ... , n-1, rev_jac_flag [ x_index[j] ] as been adjusted to accound removing this atomic function.
rev_hes_sparsityThis is the sparsity pattern for the Hessian. On input, for i = 0, ... , m-1, row y_index[i] is the reverse Hessian sparsity with one of the partials with respect to to y_index[i].

Definition at line 2234 of file atomic_base.hpp.