|
template<class Vector_set >
void reverse_sparse_hessian_csum_op |
( |
size_t |
i_z, |
|
|
const size_t * |
arg, |
|
|
bool * |
rev_jacobian, |
|
|
Vector_set & |
rev_hes_sparsity |
|
) |
| [inline] |
Reverse mode Hessian 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[0]+i] for i = 1 , ... , n is the value y(i) . |
rev_jacobian | rev_jacobian[i_z] is all false (true) if the Jabobian of G with respect to z must be zero (may be non-zero).
For i = 1 , ... , m rev_jacobian[ arg[2+i] ] is all false (true) if the Jacobian with respect to x(i) is zero (may be non-zero). On input, it corresponds to the function G, and on output it corresponds to the function H.
For i = 1 , ... , n rev_jacobian[ arg[2+arg[0]+i] ] is all false (true) if the Jacobian with respect to y(i) is zero (may be non-zero). On input, it corresponds to the function G, and on output it corresponds to the function H. |
rev_hes_sparsity | The set with index i_z in in rev_hes_sparsity is the Hessian sparsity pattern for the fucntion G where one of the partials derivative is with respect to z.
For i = 1 , ... , m The set with index arg[2+i] in rev_hes_sparsity is the Hessian sparsity pattern where one of the partials derivative is with respect to x(i) . On input, it corresponds to the function G, and on output it corresponds to the function H.
For i = 1 , ... , n The set with index arg[2+arg[0]+i] in rev_hes_sparsity is the Hessian sparsity pattern where one of the partials derivative is with respect to y(i) . On input, it corresponds to the function G, and on output it corresponds to the function H. |
Definition at line 472 of file csum_op.hpp.
Referenced by RevHesSweep().
|