CppAD: A C++ Algorithmic Differentiation Package  20171217
anonymous_namespace{eigen_mat_mul.hpp}::atomic_eigen_mat_mul< Base > Class Template Reference
Inheritance diagram for anonymous_namespace{eigen_mat_mul.hpp}::atomic_eigen_mat_mul< Base >:

Public Types

typedef Eigen::Matrix
< ad_scalar, Eigen::Dynamic,
Eigen::Dynamic,
Eigen::RowMajor >
ad_matrix

typedef CppAD::AD< scalarad_scalar

typedef Eigen::Matrix< scalar,
Eigen::Dynamic, Eigen::Dynamic,
Eigen::RowMajor >
matrix

enum  option_enum { pack_sparsity_enum, bool_sparsity_enum, set_sparsity_enum }

typedef Base scalar

Public Member Functions

const std::string & afun_name (void) const
Name corresponding to a base_atomic object. More...

void allocate_work (size_t thread)
allocates work_ for a specified thread More...

atomic_eigen_mat_mul (void)

virtual bool for_sparse_hes (const vector< bool > &vx, const vector< bool > &r, const vector< bool > &s, vector< bool > &h, const vector< Base > &x)

virtual bool for_sparse_hes (const vector< bool > &vx, const vector< bool > &r, const vector< bool > &s, vectorBool &h, const vector< Base > &x)

virtual bool for_sparse_hes (const vector< bool > &vx, const vector< bool > &r, const vector< bool > &s, vector< std::set< size_t > > &h)

virtual bool for_sparse_hes (const vector< bool > &vx, const vector< bool > &r, const vector< bool > &s, vector< bool > &h)

virtual bool for_sparse_hes (const vector< bool > &vx, const vector< bool > &r, const vector< bool > &s, vectorBool &h)

template<class InternalSparsity >
void for_sparse_hes (const vector< Base > &x, const vector< size_t > &x_index, const vector< size_t > &y_index, const InternalSparsity &for_jac_sparsity, const InternalSparsity &rev_jac_sparsity, InternalSparsity &for_hes_sparsity)
Link, before case split, from for_hes_sweep to atomic_base. More...

virtual bool for_sparse_jac (size_t q, const vector< bool > &r, vector< bool > &s, const vector< Base > &x)

virtual bool for_sparse_jac (size_t q, const vectorBool &r, vectorBool &s, const vector< Base > &x)

virtual bool for_sparse_jac (size_t q, const vector< std::set< size_t > > &r, vector< std::set< size_t > > &s)

virtual bool for_sparse_jac (size_t q, const vector< bool > &r, vector< bool > &s)

virtual bool for_sparse_jac (size_t q, const vectorBool &r, vectorBool &s)

template<class InternalSparsity >
void for_sparse_jac (const vector< Base > &x, const vector< size_t > &x_index, const vector< size_t > &y_index, InternalSparsity &var_sparsity)
Link, before case split, from for_jac_sweep to atomic_base. More...

void free_work (size_t thread)
frees work_ for a specified thread More...

ad_matrix op (const ad_matrix &left, const ad_matrix &right)

template<class ADVector >
void operator() (const ADVector &ax, ADVector &ay, size_t id=0)
Implement the user call to `afun(ax, ay)` and old_atomic call to `afun(ax, ay, id)`. More...

void option (enum option_enum option_value)

virtual bool rev_sparse_hes (const vector< bool > &vx, const vector< bool > &s, vector< bool > &t, size_t q, const vector< bool > &r, const vector< bool > &u, vector< bool > &v, const vector< Base > &x)

virtual bool rev_sparse_hes (const vector< bool > &vx, const vector< bool > &s, vector< bool > &t, size_t q, const vectorBool &r, const vectorBool &u, vectorBool &v, const vector< Base > &x)

virtual bool rev_sparse_hes (const vector< bool > &vx, const vector< bool > &s, vector< bool > &t, size_t q, const vector< std::set< size_t > > &r, const vector< std::set< size_t > > &u, vector< std::set< size_t > > &v)

virtual bool rev_sparse_hes (const vector< bool > &vx, const vector< bool > &s, vector< bool > &t, size_t q, const vector< bool > &r, const vector< bool > &u, vector< bool > &v)

virtual bool rev_sparse_hes (const vector< bool > &vx, const vector< bool > &s, vector< bool > &t, size_t q, const vectorBool &r, const vectorBool &u, vectorBool &v)

template<class InternalSparsity >
void rev_sparse_hes (const vector< Base > &x, const vector< size_t > &x_index, const vector< size_t > &y_index, const InternalSparsity &for_jac_sparsity, bool *rev_jac_flag, InternalSparsity &rev_hes_sparsity)
Link, before case split, from rev_hes_sweep to atomic_base. More...

virtual bool rev_sparse_jac (size_t q, const vector< bool > &rt, vector< bool > &st, const vector< Base > &x)

virtual bool rev_sparse_jac (size_t q, const vectorBool &rt, vectorBool &st, const vector< Base > &x)

virtual bool rev_sparse_jac (size_t q, const vector< std::set< size_t > > &rt, vector< std::set< size_t > > &st)

virtual bool rev_sparse_jac (size_t q, const vector< bool > &rt, vector< bool > &st)

virtual bool rev_sparse_jac (size_t q, const vectorBool &rt, vectorBool &st)

template<class InternalSparsity >
void rev_sparse_jac (const vector< Base > &x, const vector< size_t > &x_index, const vector< size_t > &y_index, InternalSparsity &var_sparsity)
Link, before case split, from rev_jac_sweep to atomic_base. More...

virtual bool reverse (size_t q, const vector< Base > &tx, const vector< Base > &ty, vector< Base > &px, const vector< Base > &py)
Link from reverse mode sweep to users routine. More...

virtual void set_old (size_t id)
Set value of id (used by deprecated old_atomic class) More...

option_enum sparsity (void) const
current sparsity setting More...

Static Public Member Functions

static const std::string & class_name (size_t index)
atomic_base function name corresponding to a certain index More...

static atomic_baseclass_object (size_t index)
atomic_base function object corresponding to a certain index More...

static void clear (void)
Free all thread_alloc static memory held by atomic_base (avoids reallocations). More...

Private Member Functions

virtual bool for_sparse_hes (const CppAD::vector< bool > &vx, const CppAD::vector< bool > &r, const CppAD::vector< bool > &s, CppAD::vector< std::set< size_t > > &h, const CppAD::vector< Base > &x)

virtual bool for_sparse_jac (size_t q, const CppAD::vector< std::set< size_t > > &r, CppAD::vector< std::set< size_t > > &s, const CppAD::vector< Base > &x)

virtual bool forward (size_t p, size_t q, const CppAD::vector< bool > &vx, CppAD::vector< bool > &vy, const CppAD::vector< scalar > &tx, CppAD::vector< scalar > &ty)

virtual bool rev_sparse_hes (const CppAD::vector< bool > &vx, const CppAD::vector< bool > &s, CppAD::vector< bool > &t, size_t q, const CppAD::vector< std::set< size_t > > &r, const CppAD::vector< std::set< size_t > > &u, CppAD::vector< std::set< size_t > > &v, const CppAD::vector< Base > &x)

virtual bool rev_sparse_jac (size_t q, const CppAD::vector< std::set< size_t > > &rt, CppAD::vector< std::set< size_t > > &st, const CppAD::vector< Base > &x)

virtual bool reverse (size_t q, const CppAD::vector< double > &tx, const CppAD::vector< double > &ty, CppAD::vector< double > &px, const CppAD::vector< double > &py)

Private Attributes

CppAD::vector< matrixf_left_

CppAD::vector< matrixf_result_

CppAD::vector< matrixf_right_

CppAD::vector< matrixr_left_

CppAD::vector< matrixr_result_

CppAD::vector< matrixr_right_

Detailed Description

template<class Base> class anonymous_namespace{eigen_mat_mul.hpp}::atomic_eigen_mat_mul< Base >

Definition at line 121 of file eigen_mat_mul.hpp.

The documentation for this class was generated from the following file: