Template Class AbstractSDEIntegrator

Inheritance Relationships

Derived Types

Class Documentation

template<system_state StateType>
class AbstractSDEIntegrator

Abstract base class for SDE integrators.

Subclassed by diffeq::EulerMaruyamaIntegrator< StateType >, diffeq::ImplicitEulerMaruyamaIntegrator< StateType >, diffeq::MilsteinIntegrator< StateType >, diffeq::SOSRAIntegrator< StateType >, diffeq::SRAIntegrator< StateType >, diffeq::SRI1Integrator< StateType >, diffeq::SRIIntegrator< StateType >, diffeq::SRIW1Integrator< StateType >

Public Types

using state_type = StateType
using time_type = typename StateType::value_type
using value_type = typename StateType::value_type
using sde_problem_type = SDEProblem<StateType>
using wiener_process_type = WienerProcess<StateType>

Public Functions

inline explicit AbstractSDEIntegrator(std::shared_ptr<sde_problem_type> problem, std::shared_ptr<wiener_process_type> wiener = nullptr)
virtual ~AbstractSDEIntegrator() = default
virtual void step(state_type &state, time_type dt) = 0
virtual std::string name() const = 0
inline void integrate(state_type &state, time_type dt, time_type end_time)
inline time_type current_time() const
inline void set_time(time_type t)
inline std::shared_ptr<sde_problem_type> get_problem() const
inline std::shared_ptr<wiener_process_type> get_wiener_process() const
inline void set_wiener_process(std::shared_ptr<wiener_process_type> wiener)

Protected Functions

inline void advance_time(time_type dt)
inline virtual size_t get_default_dimension()

Protected Attributes

std::shared_ptr<sde_problem_type> problem_
std::shared_ptr<wiener_process_type> wiener_
time_type current_time_