atomic_two_option

View page source

Set Atomic Function Options

Syntax

afun . option ( option_value )

Scope

These settings do not apply to individual afun calls, but rather all subsequent uses of the corresponding atomic operation in an ADFun object.

atomic_sparsity

Note that, if you use optimize , these sparsity patterns are used to determine the dependency relationship between argument and result variables.

pack_sparsity_enum

If option_value is atomic_base < Base >:: pack_sparsity_enum , then the type used by afun for sparsity patterns , (after the option is set) will be

typedef CppAD::vectorBool atomic_sparsity

If r is a sparsity pattern for a matrix \(R \in \B{R}^{p \times q}\): r . size () == p * q .

bool_sparsity_enum

If option_value is atomic_base < Base >:: bool_sparsity_enum , then the type used by afun for sparsity patterns , (after the option is set) will be

typedef CppAD::vector<bool> atomic_sparsity

If r is a sparsity pattern for a matrix \(R \in \B{R}^{p \times q}\): r . size () == p * q .

set_sparsity_enum

If option_value is atomic_base < Base >:: set_sparsity_enum , then the type used by afun for sparsity patterns , (after the option is set) will be

typedef CppAD::vector< std::set<size_t> > atomic_sparsity

If r is a sparsity pattern for a matrix \(R \in \B{R}^{p \times q}\): r . size () == p , and for \(i = 0 , \ldots , p-1\), the elements of r [ i ] are between zero and \(q-1\) inclusive.