CppAD: A C++ Algorithmic Differentiation Package  20171217
template<class Base , class Vector_set >
 void CppAD::local::rev_jac_sweep ( const local::player< Base > * play, bool dependency, size_t n, size_t numvar, Vector_set & var_sparsity )

Given the sparsity pattern for the dependent variables, RevJacSweep computes the sparsity pattern for all the independent variables.

Template Parameters
 Base this operation sequence was recorded using AD. Vector_set is the type used for vectors of sets. It can be either sparse_pack or sparse_list.
Parameters
 dependency Are the derivatives with respect to left and right of the expression below considered to be non-zero: CondExpRel(left, right, if_true, if_false) This is used by the optimizer to obtain the correct dependency relations. n is the number of independent variables on the tape. numvar is the total number of variables on the tape; i.e., play->num_var_rec(). This is also the number of rows in the entire sparsity pattern RevJac. play The information stored in play is a recording of the operations corresponding to a function where is the number of independent variables and is the number of dependent variables. var_sparsity For i = 0 , ... , numvar - 1, (all the variables on the tape) the forward Jacobian sparsity pattern for variable i corresponds to the set with index i in var_sparsity. Input: For i = 0 , ... , numvar - 1, the forward Jacobian sparsity pattern for variable i is an input if i corresponds to a dependent variable. Otherwise the sparsity patten is empty. Output: For j = 1 , ... , n, the sparsity pattern for the dependent variable with index (j-1) is given by the set with index index j in var_sparsity.

Definition at line 85 of file rev_jac_sweep.hpp.