File generalized_leapfrog.hpp

template<typename Point, typename NT, typename ConvexBody, typename func>
struct GeneralizedLeapfrogODESolver

Public Types

typedef std::vector<Point> pts
typedef Eigen::Matrix<NT, Eigen::Dynamic, Eigen::Dynamic> MT
typedef std::vector<ConvexBody*> bounds
typedef ConvexBody::VT VT

Public Functions

inline GeneralizedLeapfrogODESolver(NT initial_time, NT step, pts initial_state, func oracle, bounds boundaries, bool adaptive_ = true)
inline void initialize()
inline void disable_adaptive()
inline void enable_adaptive()
inline void step(int k, bool accepted)
inline void print_state()
inline void steps(int num_steps, bool accepted)
inline Point get_state(int index)
inline void set_state(int index, Point p)

Public Members

unsigned int dim
std::vector<NT> lambda_prev
NT eta
NT eta0
NT t
NT dl = 0.995
func F
bounds Ks
pts xs
pts xs_prev
MT _AA
std::pair<NT, int> pbpair
unsigned long long num_reflections = 0
unsigned long long num_steps = 0
bool adaptive = true