CppAD: A C++ Algorithmic Differentiation Package
20171217
|
Namespaces | |
optimize | |
subgraph | |
Classes | |
class | ADTape |
Class used to hold tape that records AD<Base> operations. More... | |
struct | internal_sparsity |
Template structure used obtain the internal sparsity pattern type form the corresponding element type. More... | |
struct | internal_sparsity< bool > |
Specilization for bool elements. More... | |
struct | internal_sparsity< std::set< size_t > > |
Specilization for std::set<size_t> elements. More... | |
class | player |
Class used to store and play back an operation sequence recording. More... | |
class | pod_vector |
A vector class with Type element that does not use element constructors or destructors when Type is Plain Old Data (pod). More... | |
class | recorder |
Class used to store an operation sequence while it is being recorded (the operation sequence is copied to the player class for playback). More... | |
class | sparse_list |
Vector of sets of positive integers, each set stored as a singly linked list. More... | |
class | sparse_list_const_iterator |
cons_iterator for one set of positive integers in a sparse_list object. More... | |
class | sparse_pack |
Vector of sets of postivie integers, each set stored as a packed boolean array. More... | |
class | sparse_pack_const_iterator |
cons_iterator for one set of positive integers in a sparse_pack object. More... | |
class | sparse_sizevec |
Vector of sets of positive integers, each set stored as a size_t vector. More... | |
class | sparse_sizevec_const_iterator |
cons_iterator for one set of positive integers in a sparse_sizevec object. More... | |
Enumerations | |
enum | enum_user_state { start_user, arg_user, ret_user, end_user } |
enum | OpCode { AbsOp, AcosOp, AcoshOp, AddpvOp, AddvvOp, AsinOp, AsinhOp, AtanOp, AtanhOp, BeginOp, CExpOp, CosOp, CoshOp, CSkipOp, CSumOp, DisOp, DivpvOp, DivvpOp, DivvvOp, EndOp, EqpvOp, EqvvOp, ErfOp, ExpOp, Expm1Op, InvOp, LdpOp, LdvOp, LepvOp, LevpOp, LevvOp, LogOp, Log1pOp, LtpvOp, LtvpOp, LtvvOp, MulpvOp, MulvvOp, NepvOp, NevvOp, ParOp, PowpvOp, PowvpOp, PowvvOp, PriOp, SignOp, SinOp, SinhOp, SqrtOp, StppOp, StpvOp, StvpOp, StvvOp, SubpvOp, SubvpOp, SubvvOp, TanOp, TanhOp, UserOp, UsrapOp, UsravOp, UsrrpOp, UsrrvOp, ZmulpvOp, ZmulvpOp, ZmulvvOp, NumberOp } |
Type used to distinguish different AD< Base > atomic operations. More... | |
Functions | |
size_t | arg_is_variable (OpCode op, const addr_t *arg, pod_vector< bool > &is_variable) |
Determines which arguments are variaibles for an operator. More... | |
template<class VectorSet , class VectorSize > | |
void | color_general_cppad (const VectorSet &pattern, const VectorSize &row, const VectorSize &col, CppAD::vector< size_t > &color) |
Determine which rows of a general sparse matrix can be computed together; i.e., do not have non-zero entries with the same column index. More... | |
template<class VectorSet > | |
void | color_symmetric_colpack (const VectorSet &pattern, CppAD::vector< size_t > &row, CppAD::vector< size_t > &col, CppAD::vector< size_t > &color) |
Colpack algorithm for determining which rows of a symmetric sparse matrix can be computed together. More... | |
template<class VectorSet > | |
void | color_symmetric_cppad (const VectorSet &pattern, CppAD::vector< size_t > &row, CppAD::vector< size_t > &col, CppAD::vector< size_t > &color) |
CppAD algorithm for determining which rows of a symmetric sparse matrix can be computed together. More... | |
template<class Base > | |
void | conditional_exp_op (size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order) |
Shared documentation for conditional expressions (not called). More... | |
template<class Base , class Vector_set > | |
void | for_hes_sweep (const local::player< Base > *play, size_t n, size_t numvar, const Vector_set &for_jac_sparse, const Vector_set &rev_jac_sparse, Vector_set &for_hes_sparse) |
Given the forward Jacobian sparsity pattern for all the variables, and the reverse Jacobian sparsity pattern for the dependent variables, ForHesSweep computes the Hessian sparsity pattern for all the independent variables. More... | |
template<class Base , class Vector_set > | |
void | for_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 independent variables, ForJacSweep computes the sparsity pattern for all the other variables. More... | |
template<class Base > | |
void | forward0sweep (const local::player< Base > *play, std::ostream &s_out, bool print, size_t n, size_t numvar, size_t J, Base *taylor, bool *cskip_op, pod_vector< addr_t > &var_by_load_op, size_t compare_change_count, size_t &compare_change_number, size_t &compare_change_op_index) |
Compute zero order forward mode Taylor coefficients. More... | |
template<class Base > | |
void | forward1sweep (const local::player< Base > *play, std::ostream &s_out, const bool print, const size_t p, const size_t q, const size_t n, const size_t numvar, const size_t J, Base *taylor, bool *cskip_op, pod_vector< addr_t > &var_by_load_op, size_t compare_change_count, size_t &compare_change_number, size_t &compare_change_op_index) |
Compute arbitrary order forward mode Taylor coefficients. More... | |
template<class Base > | |
void | forward2sweep (const local::player< Base > *play, const size_t q, const size_t r, const size_t n, const size_t numvar, const size_t J, Base *taylor, const bool *cskip_op, const pod_vector< addr_t > &var_by_load_op) |
Compute multiple directions forward mode Taylor coefficients. More... | |
template<class Base > | |
void | forward_abs_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = AbsOp. More... | |
template<class Base > | |
void | forward_abs_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = AbsOp. More... | |
template<class Base > | |
void | forward_abs_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficient for op = AbsOp. More... | |
template<class Base > | |
void | forward_acos_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = AcosOp. More... | |
template<class Base > | |
void | forward_acos_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = AcosOp. More... | |
template<class Base > | |
void | forward_acos_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficient for op = AcosOp. More... | |
template<class Base > | |
void | forward_acosh_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = AcoshOp. More... | |
template<class Base > | |
void | forward_acosh_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = AcoshOp. More... | |
template<class Base > | |
void | forward_acosh_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficient for op = AcoshOp. More... | |
template<class Base > | |
void | forward_addpv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = AddpvOp. More... | |
template<class Base > | |
void | forward_addpv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = AddpvOp. More... | |
template<class Base > | |
void | forward_addpv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = AddpvOp. More... | |
template<class Base > | |
void | forward_addvv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = AddvvOp. More... | |
template<class Base > | |
void | forward_addvv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = AddvvOp. More... | |
template<class Base > | |
void | forward_addvv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = AddvvOp. More... | |
template<class Base > | |
void | forward_asin_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = AsinOp. More... | |
template<class Base > | |
void | forward_asin_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = AsinOp. More... | |
template<class Base > | |
void | forward_asin_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficient for op = AsinOp. More... | |
template<class Base > | |
void | forward_asinh_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = AsinhOp. More... | |
template<class Base > | |
void | forward_asinh_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = AsinhOp. More... | |
template<class Base > | |
void | forward_asinh_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficient for op = AsinhOp. More... | |
template<class Base > | |
void | forward_atan_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Forward mode Taylor coefficient for result of op = AtanOp. More... | |
template<class Base > | |
void | forward_atan_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Zero order forward mode Taylor coefficient for result of op = AtanOp. More... | |
template<class Base > | |
void | forward_atan_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple direction Taylor coefficient for op = AtanOp. More... | |
template<class Base > | |
void | forward_atanh_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Forward mode Taylor coefficient for result of op = AtanhOp. More... | |
template<class Base > | |
void | forward_atanh_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Zero order forward mode Taylor coefficient for result of op = AtanhOp. More... | |
template<class Base > | |
void | forward_atanh_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple direction Taylor coefficient for op = AtanhOp. More... | |
template<class Base > | |
void | forward_binary_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Prototype forward mode x op y (not used) More... | |
template<class Base > | |
void | forward_binary_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Prototype zero order forward mode x op y (not used) More... | |
template<class Base > | |
void | forward_binary_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Prototype multiple direction forward mode x op y (not used) More... | |
template<class Base > | |
void | forward_cond_op (size_t p, size_t q, size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for op = CExpOp. More... | |
template<class Base > | |
void | forward_cond_op_0 (size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for op = CExpOp. More... | |
template<class Base > | |
void | forward_cond_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = CExpOp. More... | |
template<class Base > | |
void | forward_cos_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = CosOp. More... | |
template<class Base > | |
void | forward_cos_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = CosOp. More... | |
template<class Base > | |
void | forward_cos_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = CosOp. More... | |
template<class Base > | |
void | forward_cosh_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = CoshOp. More... | |
template<class Base > | |
void | forward_cosh_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = CoshOp. More... | |
template<class Base > | |
void | forward_cosh_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = CoshOp. More... | |
template<class Base > | |
void | forward_cskip_op_0 (size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order, Base *taylor, bool *cskip_op) |
Zero order forward mode execution of op = CSkipOp. More... | |
template<class Base > | |
void | forward_csum_op (size_t p, size_t q, size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = CsumOp. More... | |
template<class Base > | |
void | forward_csum_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple direction forward mode Taylor coefficients for op = CsumOp. More... | |
template<class Base > | |
void | forward_dis_op (size_t p, size_t q, size_t r, size_t i_z, const addr_t *arg, size_t cap_order, Base *taylor) |
forward mode Taylor coefficient for result of op = DisOp. More... | |
template<class Base > | |
void | forward_divpv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = DivpvOp. More... | |
template<class Base > | |
void | forward_divpv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = DivpvOp. More... | |
template<class Base > | |
void | forward_divpv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = DivpvOp. More... | |
template<class Base > | |
void | forward_divvp_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = DivvvOp. More... | |
template<class Base > | |
void | forward_divvp_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = DivvvOp. More... | |
template<class Base > | |
void | forward_divvp_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple direction forward mode Taylor coefficients for op = DivvvOp. More... | |
template<class Base > | |
void | forward_divvv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = DivvvOp. More... | |
template<class Base > | |
void | forward_divvv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = DivvvOp. More... | |
template<class Base > | |
void | forward_divvv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = DivvvOp. More... | |
template<class Base > | |
void | forward_eqpv_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left == right. More... | |
template<class Base > | |
void | forward_eqvv_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left == right. More... | |
template<class Base > | |
void | forward_erf_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Forward mode Taylor coefficient for result of op = ErfOp. More... | |
template<class Base > | |
void | forward_erf_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order Forward mode Taylor coefficient for result of op = ErfOp. More... | |
template<class Base > | |
void | forward_erf_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Forward mode Taylor coefficient for result of op = ErfOp. More... | |
template<class Base > | |
void | forward_exp_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Forward mode Taylor coefficient for result of op = ExpOp. More... | |
template<class Base > | |
void | forward_exp_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Zero order forward mode Taylor coefficient for result of op = ExpOp. More... | |
template<class Base > | |
void | forward_exp_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple direction forward mode Taylor coefficient for op = ExpOp. More... | |
template<class Base > | |
void | forward_expm1_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Forward mode Taylor coefficient for result of op = Expm1Op. More... | |
template<class Base > | |
void | forward_expm1_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Zero order forward mode Taylor coefficient for result of op = Expm1Op. More... | |
template<class Base > | |
void | forward_expm1_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple direction forward mode Taylor coefficient for op = Expm1Op. More... | |
template<class Base > | |
void | forward_lepv_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left <= right. More... | |
template<class Base > | |
void | forward_levp_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left <= right. More... | |
template<class Base > | |
void | forward_levv_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left <= right. More... | |
template<class Base > | |
void | forward_load_op (const local::player< Base > *play, OpCode op, size_t p, size_t q, size_t r, size_t cap_order, size_t i_z, const addr_t *arg, const addr_t *var_by_load_op, Base *taylor) |
Forward mode, except for zero order, for op = LdpOp or op = LdvOp. More... | |
template<class Base > | |
void | forward_load_op_0 (const local::player< Base > *play, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor, bool *isvar_by_ind, size_t *index_by_ind, addr_t *var_by_load_op) |
Shared documentation for zero order forward mode implementation of op = LdpOp or LdvOp (not called). More... | |
template<class Base > | |
void | forward_load_p_op_0 (const local::player< Base > *play, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor, bool *isvar_by_ind, size_t *index_by_ind, addr_t *var_by_load_op) |
Zero order forward mode implementation of op = LdpOp. More... | |
template<class Base > | |
void | forward_load_v_op_0 (const local::player< Base > *play, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor, bool *isvar_by_ind, size_t *index_by_ind, addr_t *var_by_load_op) |
Zero order forward mode implementation of op = LdvOp. More... | |
template<class Base > | |
void | forward_log1p_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = Log1pOp. More... | |
template<class Base > | |
void | forward_log1p_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = Log1pOp. More... | |
template<class Base > | |
void | forward_log1p_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Muiltiple directions Taylor coefficient for op = Log1pOp. More... | |
template<class Base > | |
void | forward_log_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = LogOp. More... | |
template<class Base > | |
void | forward_log_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = LogOp. More... | |
template<class Base > | |
void | forward_log_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Muiltiple directions Taylor coefficient for op = LogOp. More... | |
template<class Base > | |
void | forward_ltpv_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left < right. More... | |
template<class Base > | |
void | forward_ltvp_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left < right. More... | |
template<class Base > | |
void | forward_ltvv_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left < right. More... | |
template<class Base > | |
void | forward_mulpv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = MulpvOp. More... | |
template<class Base > | |
void | forward_mulpv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = MulpvOp. More... | |
template<class Base > | |
void | forward_mulpv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = MulpvOp. More... | |
template<class Base > | |
void | forward_mulvv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = MulvvOp. More... | |
template<class Base > | |
void | forward_mulvv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = MulvvOp. More... | |
template<class Base > | |
void | forward_mulvv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = MulvvOp. More... | |
template<class Base > | |
void | forward_nepv_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left != right. More... | |
template<class Base > | |
void | forward_nevv_op_0 (size_t &count, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Zero order forward mode comparison check that left != right. More... | |
template<class Base > | |
void | forward_par_op_0 (size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = ParOp. More... | |
template<class Base > | |
void | forward_pow_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Prototype for forward mode z = pow(x, y) (not used). More... | |
template<class Base > | |
void | forward_pow_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Prototype for zero order forward mode z = pow(x, y) (not used). More... | |
template<class Base > | |
void | forward_pow_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Prototype for multiple direction forward mode z = pow(x, y) (not used). More... | |
template<class Base > | |
void | forward_powpv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = PowpvOp. More... | |
template<class Base > | |
void | forward_powpv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = PowpvOp. More... | |
template<class Base > | |
void | forward_powpv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = PowpvOp. More... | |
template<class Base > | |
void | forward_powvp_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = PowvpOp. More... | |
template<class Base > | |
void | forward_powvp_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = PowvpOp. More... | |
template<class Base > | |
void | forward_powvp_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = PowvpOp. More... | |
template<class Base > | |
void | forward_powvv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = PowvvOp. More... | |
template<class Base > | |
void | forward_powvv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = PowvvOp. More... | |
template<class Base > | |
void | forward_powvv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = PowvvOp. More... | |
template<class Base > | |
void | forward_pri_0 (std::ostream &s_out, const addr_t *arg, size_t num_text, const char *text, size_t num_par, const Base *parameter, size_t cap_order, const Base *taylor) |
Print operation for parameters; i.e., op = PriOp. More... | |
template<class Base > | |
void | forward_sign_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = SignOp. More... | |
template<class Base > | |
void | forward_sign_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = SignOp. More... | |
template<class Base > | |
void | forward_sign_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple direction forward mode Taylor coefficient for op = SignOp. More... | |
template<class Base > | |
void | forward_sin_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = SinOp. More... | |
template<class Base > | |
void | forward_sin_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = SinOp. More... | |
template<class Base > | |
void | forward_sin_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = SinOp. More... | |
template<class Base > | |
void | forward_sinh_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = SinhOp. More... | |
template<class Base > | |
void | forward_sinh_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = SinhOp. More... | |
template<class Base > | |
void | forward_sinh_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = SinhOp. More... | |
template<class Vector_set > | |
void | forward_sparse_hessian_div_op (const addr_t *arg, const Vector_set &for_jac_sparsity, Vector_set &for_hes_sparsity) |
Forward mode Hessian sparsity pattern for division operator. More... | |
template<class Vector_set > | |
void | forward_sparse_hessian_mul_op (const addr_t *arg, const Vector_set &for_jac_sparsity, Vector_set &for_hes_sparsity) |
Forward mode Hessian sparsity pattern for multiplication operator. More... | |
template<class Vector_set > | |
void | forward_sparse_hessian_nonlinear_unary_op (size_t i_v, const Vector_set &for_jac_sparsity, Vector_set &for_hes_sparsity) |
Forward mode Hessian sparsity pattern for non-linear unary operators. More... | |
template<class Vector_set > | |
void | forward_sparse_hessian_pow_op (const addr_t *arg, const Vector_set &for_jac_sparsity, Vector_set &for_hes_sparsity) |
Forward mode Hessian sparsity pattern for power operator. More... | |
template<class Vector_set > | |
void | forward_sparse_jacobian_binary_op (size_t i_z, const addr_t *arg, Vector_set &sparsity) |
Forward mode Jacobian sparsity pattern for all binary operators. More... | |
template<class Vector_set > | |
void | forward_sparse_jacobian_cond_op (bool dependency, size_t i_z, const addr_t *arg, size_t num_par, Vector_set &sparsity) |
Compute forward Jacobian sparsity patterns for op = CExpOp. More... | |
template<class Vector_set > | |
void | forward_sparse_jacobian_csum_op (size_t i_z, const addr_t *arg, Vector_set &sparsity) |
Forward mode Jacobian sparsity pattern for CSumOp operator. More... | |
template<class Vector_set > | |
void | forward_sparse_jacobian_unary_op (size_t i_z, size_t i_x, Vector_set &sparsity) |
Forward mode Jacobian sparsity pattern for all unary operators. More... | |
template<class Vector_set > | |
void | forward_sparse_load_op (bool dependency, OpCode op, size_t i_z, const addr_t *arg, size_t num_combined, const size_t *combined, Vector_set &var_sparsity, Vector_set &vecad_sparsity) |
Forward mode sparsity operations for LdpOp and LdvOp. More... | |
template<class Vector_set > | |
void | forward_sparse_store_op (bool dependency, OpCode op, const addr_t *arg, size_t num_combined, const size_t *combined, Vector_set &var_sparsity, Vector_set &vecad_sparsity) |
Forward mode sparsity operations for StpvOp and StvvOp. More... | |
template<class Base > | |
void | forward_sqrt_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = SqrtOp. More... | |
template<class Base > | |
void | forward_sqrt_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = SqrtOp. More... | |
template<class Base > | |
void | forward_sqrt_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple direction forward mode Taylor coefficient for op = SqrtOp. More... | |
template<class Base > | |
void | forward_store_op_0 (size_t i_z, const addr_t *arg, size_t num_par, size_t cap_order, Base *taylor, bool *isvar_by_ind, size_t *index_by_ind) |
Shared documentation for zero order forward implementation of op = StppOp, StpvOp, StvpOp, or StvvOp (not called). More... | |
template<class Base > | |
void | forward_store_pp_op_0 (size_t i_z, const addr_t *arg, size_t num_par, size_t cap_order, Base *taylor, bool *isvar_by_ind, size_t *index_by_ind) |
Zero order forward mode implementation of op = StppOp. More... | |
template<class Base > | |
void | forward_store_pv_op_0 (size_t i_z, const addr_t *arg, size_t num_par, size_t cap_order, Base *taylor, bool *isvar_by_ind, size_t *index_by_ind) |
Zero order forward mode implementation of op = StpvOp. More... | |
template<class Base > | |
void | forward_store_vp_op_0 (size_t i_z, const addr_t *arg, size_t num_par, size_t cap_order, Base *taylor, bool *isvar_by_ind, size_t *index_by_ind) |
Zero order forward mode implementation of op = StvpOp. More... | |
template<class Base > | |
void | forward_store_vv_op_0 (size_t i_z, const addr_t *arg, size_t num_par, size_t cap_order, Base *taylor, bool *isvar_by_ind, size_t *index_by_ind) |
Zero order forward mode implementation of op = StvvOp. More... | |
template<class Base > | |
void | forward_subpv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = SubpvOp. More... | |
template<class Base > | |
void | forward_subpv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = SubpvOp. More... | |
template<class Base > | |
void | forward_subpv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = SubpvOp. More... | |
template<class Base > | |
void | forward_subvp_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = SubvvOp. More... | |
template<class Base > | |
void | forward_subvp_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = SubvvOp. More... | |
template<class Base > | |
void | forward_subvp_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = SubvvOp. More... | |
template<class Base > | |
void | forward_subvv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = SubvvOp. More... | |
template<class Base > | |
void | forward_subvv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = SubvvOp. More... | |
template<class Base > | |
void | forward_subvv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = SubvvOp. More... | |
template<class Base > | |
void | forward_tan_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = TanOp. More... | |
template<class Base > | |
void | forward_tan_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = TanOp. More... | |
template<class Base > | |
void | forward_tan_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficient for op = TanOp. More... | |
template<class Base > | |
void | forward_tanh_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficient for result of op = TanOp. More... | |
template<class Base > | |
void | forward_tanh_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = TanOp. More... | |
template<class Base > | |
void | forward_tanh_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficient for op = TanOp. More... | |
template<class Base > | |
void | forward_unary1_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Prototype for forward mode unary operator with one result (not used). More... | |
template<class Base > | |
void | forward_unary1_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Prototype for zero order forward mode unary operator with one result (not used). More... | |
template<class Base > | |
void | forward_unary1_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Prototype for multiple direction forward mode unary operator with one result (not used). More... | |
template<class Base > | |
void | forward_unary2_op (size_t p, size_t q, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Prototype for forward mode unary operator with two results (not used). More... | |
template<class Base > | |
void | forward_unary2_op_0 (size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Prototype for zero order forward mode unary operator with two results (not used). More... | |
template<class Base > | |
void | forward_unary2_op_dir (size_t q, size_t r, size_t i_z, size_t i_x, size_t cap_order, Base *taylor) |
Prototype for multiple direction forward mode unary operator with two results (not used). More... | |
template<class Base > | |
void | forward_zmulpv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = ZmulpvOp. More... | |
template<class Base > | |
void | forward_zmulpv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = ZmulpvOp. More... | |
template<class Base > | |
void | forward_zmulpv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = ZmulpvOp. More... | |
template<class Base > | |
void | forward_zmulvp_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = ZmulvpOp. More... | |
template<class Base > | |
void | forward_zmulvp_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficient for result of op = ZmulvpOp. More... | |
template<class Base > | |
void | forward_zmulvp_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = ZmulvpOp. More... | |
template<class Base > | |
void | forward_zmulvv_op (size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute forward mode Taylor coefficients for result of op = ZmulvvOp. More... | |
template<class Base > | |
void | forward_zmulvv_op_0 (size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Compute zero order forward mode Taylor coefficients for result of op = ZmulvvOp. More... | |
template<class Base > | |
void | forward_zmulvv_op_dir (size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor) |
Multiple directions forward mode Taylor coefficients for op = ZmulvvOp. More... | |
template<class SizeVector , class InternalSparsity > | |
void | get_internal_sparsity (bool transpose, const vector< size_t > &internal_index, const InternalSparsity &internal_pattern, sparse_rc< SizeVector > &pattern_out) |
Get sparsity pattern for a sub-set of variables. More... | |
template<class InternalSparsity > | |
void | get_internal_sparsity (bool transpose, const vector< size_t > &internal_index, const InternalSparsity &internal_pattern, vectorBool &pattern_out) |
template<class InternalSparsity > | |
void | get_internal_sparsity (bool transpose, const vector< size_t > &internal_index, const InternalSparsity &internal_pattern, vector< bool > &pattern_out) |
template<class InternalSparsity > | |
void | get_internal_sparsity (bool transpose, const vector< size_t > &internal_index, const InternalSparsity &internal_pattern, vector< std::set< size_t > > &pattern_out) |
template<> | |
bool | is_pod< OpCode > (void) |
specialize is_pod<OpCode> to be true More... | |
template<> | |
bool | is_pod< sparse_list::pair_size_t > (void) |
template<class Value > | |
unsigned short | local_hash_code (const Value &value) |
General purpose hash code for an arbitrary value. More... | |
template<class Base > | |
unsigned short | local_hash_code (OpCode op, const addr_t *arg, size_t npar, const Base *par) |
Specialized hash code for a CppAD operator and its arguments. More... | |
size_t | NumArg (OpCode op) |
Number of arguments for a specified operator. More... | |
size_t | NumRes (OpCode op) |
Number of variables resulting from the specified operation. More... | |
template<class Scalar > | |
const std::set< Scalar > & | one_element_std_set (void) |
A standard set with one element. More... | |
const char * | OpName (OpCode op) |
Fetch the name for a specified operation. More... | |
template<class Base > | |
void | printOp (std::ostream &os, const local::player< Base > *play, size_t i_op, size_t i_var, OpCode op, const addr_t *ind) |
Prints a single operator and its operands. More... | |
template<class Type > | |
void | printOpField (std::ostream &os, const char *leader, const Type &value, size_t width) |
Prints a single field corresponding to an operator. More... | |
template<class Value > | |
void | printOpResult (std::ostream &os, size_t nfz, const Value *fz, size_t nrz, const Value *rz) |
Prints the result values correspnding to an operator. More... | |
void | prototype_put_arg (void) |
Prototype for putting operation argument indices in the recording. More... | |
template<class Base , class Vector_set > | |
void | rev_hes_sweep (const local::player< Base > *play, size_t n, size_t numvar, const Vector_set &for_jac_sparse, bool *RevJac, Vector_set &rev_hes_sparse) |
Given the forward Jacobian sparsity pattern for all the variables, and the reverse Jacobian sparsity pattern for the dependent variables, RevHesSweep computes the Hessian sparsity pattern for all the independent variables. More... | |
template<class Base , class Vector_set > | |
void | 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. More... | |
template<class Base > | |
void | reverse_abs_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = AbsOp. More... | |
template<class Base > | |
void | reverse_acos_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = AcosOp. More... | |
template<class Base > | |
void | reverse_acosh_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = AcoshOp. More... | |
template<class Base > | |
void | reverse_addpv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = AddpvOp. More... | |
template<class Base > | |
void | reverse_addvv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = AddvvOp. More... | |
template<class Base > | |
void | reverse_asin_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = AsinOp. More... | |
template<class Base > | |
void | reverse_asinh_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = AsinhOp. More... | |
template<class Base > | |
void | reverse_atan_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Reverse mode partial derivatives for result of op = AtanOp. More... | |
template<class Base > | |
void | reverse_atanh_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Reverse mode partial derivatives for result of op = AtanhOp. More... | |
template<class Base > | |
void | reverse_binary_op (size_t d, size_t i_z, addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Prototype for reverse mode binary operator x op y (not used). More... | |
template<class Base > | |
void | reverse_cond_op (size_t d, size_t i_z, const addr_t *arg, size_t num_par, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode Taylor coefficients for op = CExpOp. More... | |
template<class Base > | |
void | reverse_cos_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = CosOp. More... | |
template<class Base > | |
void | reverse_cosh_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = CoshOp. More... | |
template<class Base > | |
void | reverse_csum_op (size_t d, size_t i_z, const addr_t *arg, size_t nc_partial, Base *partial) |
Compute reverse mode Taylor coefficients for result of op = CsumOp. More... | |
template<class Base > | |
void | reverse_divpv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = DivpvOp. More... | |
template<class Base > | |
void | reverse_divvp_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = DivvpOp. More... | |
template<class Base > | |
void | reverse_divvv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = DivvvOp. More... | |
template<class Base > | |
void | reverse_erf_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = ErfOp. More... | |
template<class Base > | |
void | reverse_exp_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Reverse mode partial derivatives for result of op = ExpOp. More... | |
template<class Base > | |
void | reverse_expm1_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Reverse mode partial derivatives for result of op = Expm1Op. More... | |
template<class Base > | |
void | reverse_load_op (OpCode op, size_t d, size_t i_z, const addr_t *arg, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial, const addr_t *var_by_load_op) |
Reverse mode for op = LdpOp or LdvOp. More... | |
template<class Base > | |
void | reverse_log1p_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = Log1pOp. More... | |
template<class Base > | |
void | reverse_log_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = LogOp. More... | |
template<class Base > | |
void | reverse_mulpv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = MulpvOp. More... | |
template<class Base > | |
void | reverse_mulvv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = MulvvOp. More... | |
template<class Base > | |
void | reverse_pow_op (size_t d, size_t i_z, addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Prototype for reverse mode z = pow(x, y) (not used). More... | |
template<class Base > | |
void | reverse_powpv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = PowpvOp. More... | |
template<class Base > | |
void | reverse_powvp_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = PowvpOp. More... | |
template<class Base > | |
void | reverse_powvv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = PowvvOp. More... | |
template<class Base > | |
void | reverse_sign_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = SignOp. More... | |
template<class Base > | |
void | reverse_sin_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = SinOp. More... | |
template<class Base > | |
void | reverse_sinh_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = SinhOp. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_addsub_op (size_t i_z, const addr_t *arg, bool *jac_reverse, const Vector_set &for_jac_sparsity, Vector_set &rev_hes_sparsity) |
Reverse mode Hessian sparsity pattern for add and subtract operators. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_binary_op (size_t i_z, const addr_t *arg, bool *jac_reverse, Vector_set &for_jac_sparsity, Vector_set &rev_hes_sparsity) |
Prototype for reverse mode Hessian sparsity binary operators. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_cond_op (size_t i_z, const addr_t *arg, size_t num_par, bool *jac_reverse, Vector_set &hes_sparsity) |
Compute reverse Hessian sparsity patterns for op = CExpOp. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_csum_op (size_t i_z, const addr_t *arg, bool *rev_jacobian, Vector_set &rev_hes_sparsity) |
Reverse mode Hessian sparsity pattern for CSumOp operator. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_div_op (size_t i_z, const addr_t *arg, bool *jac_reverse, const Vector_set &for_jac_sparsity, Vector_set &rev_hes_sparsity) |
Reverse mode Hessian sparsity pattern for division operator. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_linear_unary_op (size_t i_z, size_t i_x, bool *rev_jacobian, const Vector_set &for_jac_sparsity, Vector_set &rev_hes_sparsity) |
Reverse mode Hessian sparsity pattern for linear unary operators. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_load_op (OpCode op, size_t i_z, const addr_t *arg, size_t num_combined, const size_t *combined, Vector_set &var_sparsity, Vector_set &vecad_sparsity, bool *var_jacobian, bool *vecad_jacobian) |
Reverse mode Hessian sparsity operations for LdpOp and LdvOp. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_mul_op (size_t i_z, const addr_t *arg, bool *jac_reverse, const Vector_set &for_jac_sparsity, Vector_set &rev_hes_sparsity) |
Reverse mode Hessian sparsity pattern for multiplication operator. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_nonlinear_unary_op (size_t i_z, size_t i_x, bool *rev_jacobian, const Vector_set &for_jac_sparsity, Vector_set &rev_hes_sparsity) |
Reverse mode Hessian sparsity pattern for non-linear unary operators. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_pow_op (size_t i_z, const addr_t *arg, bool *jac_reverse, const Vector_set &for_jac_sparsity, Vector_set &rev_hes_sparsity) |
Reverse mode Hessian sparsity pattern for power function. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_store_op (OpCode op, const addr_t *arg, size_t num_combined, const size_t *combined, Vector_set &var_sparsity, Vector_set &vecad_sparsity, bool *var_jacobian, bool *vecad_jacobian) |
Reverse mode sparsity operations for StpvOp and StvvOp. More... | |
template<class Vector_set > | |
void | reverse_sparse_hessian_unary_op (size_t i_z, size_t i_x, bool *rev_jacobian, Vector_set &for_jac_sparsity, Vector_set &rev_hes_sparsity) |
Prototype for reverse mode Hessian sparsity unary operators. More... | |
template<class Vector_set > | |
void | reverse_sparse_jacobian_binary_op (size_t i_z, const addr_t *arg, Vector_set &sparsity) |
Reverse mode Jacobian sparsity pattern for all binary operators. More... | |
template<class Vector_set > | |
void | reverse_sparse_jacobian_cond_op (bool dependency, size_t i_z, const addr_t *arg, size_t num_par, Vector_set &sparsity) |
Compute reverse Jacobian sparsity patterns for op = CExpOp. More... | |
template<class Vector_set > | |
void | reverse_sparse_jacobian_csum_op (size_t i_z, const addr_t *arg, Vector_set &sparsity) |
Reverse mode Jacobian sparsity pattern for CSumOp operator. More... | |
template<class Vector_set > | |
void | reverse_sparse_jacobian_load_op (bool dependency, OpCode op, size_t i_z, const addr_t *arg, size_t num_combined, const size_t *combined, Vector_set &var_sparsity, Vector_set &vecad_sparsity) |
Reverse mode Jacobian sparsity operations for LdpOp and LdvOp. More... | |
template<class Vector_set > | |
void | reverse_sparse_jacobian_store_op (bool dependency, OpCode op, const addr_t *arg, size_t num_combined, const size_t *combined, Vector_set &var_sparsity, Vector_set &vecad_sparsity) |
Reverse mode sparsity operations for StpvOp, StvpOp, and StvvOp. More... | |
template<class Vector_set > | |
void | reverse_sparse_jacobian_unary_op (size_t i_z, size_t i_x, Vector_set &sparsity) |
Reverse mode Jacobian sparsity pattern for all unary operators. More... | |
template<class Base > | |
void | reverse_sqrt_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = SqrtOp. More... | |
template<class Base > | |
void | reverse_subpv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = SubpvOp. More... | |
template<class Base > | |
void | reverse_subvp_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = SubvpOp. More... | |
template<class Base > | |
void | reverse_subvv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = SubvvOp. More... | |
template<class Base > | |
void | reverse_sweep (size_t d, size_t n, size_t numvar, const local::player< Base > *play, size_t J, const Base *Taylor, size_t K, Base *Partial, bool *cskip_op, const pod_vector< addr_t > &var_by_load_op, const pod_vector< addr_t > &subgraph) |
Compute derivative of arbitrary order forward mode Taylor coefficients. More... | |
template<class Base > | |
void | reverse_tan_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = TanOp. More... | |
template<class Base > | |
void | reverse_tanh_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = TanOp. More... | |
template<class Base > | |
void | reverse_unary1_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Prototype for reverse mode unary operator with one result (not used). More... | |
template<class Base > | |
void | reverse_unary2_op (size_t d, size_t i_z, size_t i_x, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Prototype for reverse mode unary operator with two results (not used). More... | |
template<class Base > | |
void | reverse_zmulpv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = ZmulpvOp. More... | |
template<class Base > | |
void | reverse_zmulvp_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivative for result of op = ZmulvpOp. More... | |
template<class Base > | |
void | reverse_zmulvv_op (size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial) |
Compute reverse mode partial derivatives for result of op = ZmulvvOp. More... | |
static bool | set_get_in_parallel (bool(*in_parallel_new)(void), bool set=false) |
Set and call the routine that determine if we are in parallel execution mode. More... | |
template<class SizeVector , class InternalSparsity > | |
void | set_internal_sparsity (bool zero_empty, bool input_empty, bool transpose, const vector< size_t > &internal_index, InternalSparsity &internal_pattern, const sparse_rc< SizeVector > &pattern_in) |
Update the internal sparsity pattern for a sub-set of rows. More... | |
template<class InternalSparsity > | |
void | set_internal_sparsity (bool zero_empty, bool input_empty, bool transpose, const vector< size_t > &internal_index, InternalSparsity &internal_pattern, const vectorBool &pattern_in) |
template<class InternalSparsity > | |
void | set_internal_sparsity (bool zero_empty, bool input_empty, bool transpose, const vector< size_t > &internal_index, InternalSparsity &internal_pattern, const vector< bool > &pattern_in) |
template<class InternalSparsity > | |
void | set_internal_sparsity (bool zero_empty, bool input_empty, bool transpose, const vector< size_t > &internal_index, InternalSparsity &internal_pattern, const vector< std::set< size_t > > &pattern_in) |
template<class Vector_set > | |
void | sparse_conditional_exp_op (size_t i_z, const addr_t *arg, size_t num_par) |
Shared documentation for conditional expression sparse operations (not called). More... | |
template<class Vector_set > | |
void | sparse_load_op (OpCode op, size_t i_z, const addr_t *arg, size_t num_combined, const size_t *combined, Vector_set &var_sparsity, Vector_set &vecad_sparsity) |
Shared documentation for sparsity operations corresponding to op = LdpOp or LdvOp (not called). More... | |
template<class Vector_set > | |
void | sparse_store_op (OpCode op, const addr_t *arg, size_t num_combined, const size_t *combined, Vector_set &var_sparsity, Vector_set &vecad_sparsity) |
Shared documnetation for sparsity operations corresponding to op = StpvOp or StvvOp (not called). More... | |
template<class VectorSet > | |
void | sparsity_user2internal (sparse_pack &internal, const VectorSet &user, size_t n_set, size_t end, bool transpose, const char *error_msg) |
Copy a user vector of sets sparsity pattern to an internal sparse_pack object. More... | |
template<class VectorSet > | |
void | sparsity_user2internal (sparse_list &internal, const VectorSet &user, size_t n_set, size_t end, bool transpose, const char *error_msg) |
Copy a user vector of sets sparsity pattern to an internal sparse_list object. More... | |
template<class VectorSet > | |
void | sparsity_user2internal (sparse_sizevec &internal, const VectorSet &user, size_t n_set, size_t end, bool transpose, const char *error_msg) |
Copy a user vector of sets sparsity pattern to an internal sparse_sizevec object. More... | |
template<class Scalar > | |
const std::set< Scalar > & | two_element_std_set (void) |
A standard set with a two elements. More... | |