Template Class SDEProblem

Class Documentation

template<system_state StateType>
class SDEProblem

SDE problem definition.

Represents SDE of the form: dX = f(t, X) dt + g(t, X) dW

Where:

  • f is the drift function

  • g is the diffusion function

  • dW is the Wiener process (Brownian motion)

Public Types

using state_type = StateType
using time_type = typename StateType::value_type
using value_type = typename StateType::value_type
using drift_function = std::function<void(time_type, const state_type&, state_type&)>
using diffusion_function = std::function<void(time_type, const state_type&, state_type&)>
using noise_function = std::function<void(time_type, const state_type&, StateType&, const StateType&)>

Public Functions

inline SDEProblem(drift_function drift, diffusion_function diffusion, NoiseType noise_type = NoiseType::DIAGONAL_NOISE)
inline void drift(time_type t, const state_type &x, state_type &fx) const
inline void diffusion(time_type t, const state_type &x, state_type &gx) const
inline NoiseType get_noise_type() const
inline void set_noise_function(noise_function noise)
inline bool has_custom_noise() const
inline void apply_noise(time_type t, const state_type &x, state_type &noise_term, const state_type &dW) const