Struct ImplicitMidpointODESolver

template<typename Point, typename NT, typename Polytope, typename func, int simdLen = 1>
struct ImplicitMidpointODESolver

Public Types

using VT = typename Polytope::VT
using MT = typename Polytope::MT
using pts = std::vector<MT>
using hamiltonian = Hamiltonian<Polytope, Point, simdLen>
using Opts = opts<NT>

Public Functions

inline ImplicitMidpointODESolver(NT initial_time, NT step, pts initial_state, func oracle, Polytope &boundaries, Opts &user_options)
inline void step(int k, bool accepted)
inline void steps(int num_steps, bool accepted)
inline MT get_state(int index)
inline void set_state(int index, MT p)
template<typename StreamType>
inline void print_state(StreamType &stream)
inline NT get_eta() const

Public Members

unsigned int dim
NT eta
int num_steps = 0
NT t
pts xs
pts xs_prev
func F
Polytope &P
Opts &options
MT nu
int num_runs = 0
hamiltonian ham
bool done