CppAD: A C++ Algorithmic Differentiation Package
20130102
|
void RevJacSweep | ( | size_t | n, |
size_t | numvar, | ||
player< Base > * | play, | ||
Vector_set & | var_sparsity | ||
) |
Given the sparsity pattern for the dependent variables, RevJacSweep computes the sparsity pattern for all the independent variables.
Base | base type for the operator; i.e., this operation sequence was recorded using AD< Base > and computations by this routine are done using type Base. |
Vector_set | is the type used for vectors of sets. It can be either sparse_pack , sparse_set , or sparse_list . |
n | is the number of independent variables on the tape. |
numvar | is the total number of variables on the tape; i.e., play->num_rec_var(). 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
![]() ![]() |
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 86 of file rev_jac_sweep.hpp.
Referenced by RevSparseJacBool(), and RevSparseJacSet().