|
template<class Vector_set >
void reverse_sparse_jacobian_csum_op |
( |
size_t |
i_z, |
|
|
const size_t * |
arg, |
|
|
Vector_set & |
sparsity |
|
) |
| [inline] |
Reverse mode Jacobian sparsity pattern for CSumOp operator.
This operation is
z = p + x(1) + ... + x(m) - y(1) - ... - y(n).
H(y, x, w, ...) = G[ z(x, y), y, x, w, ... ]
- Template Parameters:
-
- Parameters:
-
i_z | variable index corresponding to the result for this operation; i.e. the index in sparsity corresponding to z. |
arg | arg[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 p in this cummunative summation.
arg[2+i] for i = 1 , ... , m is the value x(i) .
arg[2+arg[1]+i] for i = 1 , ... , n is the value y(i) . |
sparsity | For i = 1 , ... , m , the set with index arg[2+i] in sparsity is the sparsity bit pattern for x(i) . This identifies which of the dependent variables depend on x(i) . On input, the sparsity patter corresponds to G , and on ouput it corresponds to H .
For i = 1 , ... , m , the set with index arg[2+arg[0]+i] in sparsity is the sparsity bit pattern for y(i) . This identifies which of the dependent variables depend on y(i) . On input, the sparsity patter corresponds to G , and on ouput it corresponds to H .
Input: The set with index i_z in sparsity is the sparsity bit pattern for z. On input it corresponds to G and on output it is undefined. |
Definition at line 374 of file csum_op.hpp.
Referenced by RevJacSweep().
|