DiffEq - Modern C++ ODE Integration Library 1.0.0
High-performance C++ library for solving ODEs with async signal processing
Loading...
Searching...
No Matches
diffeq::SRI1Integrator< StateType > Class Template Reference

Stochastic Runge-Kutta method (SRI1) More...

#include <sri1.hpp>

Inheritance diagram for diffeq::SRI1Integrator< StateType >:
Collaboration diagram for diffeq::SRI1Integrator< StateType >:

Public Types

using base_type = sde::AbstractSDEIntegrator< StateType >
 
using state_type = typename base_type::state_type
 
using time_type = typename base_type::time_type
 
using value_type = typename base_type::value_type
 
- Public Types inherited from diffeq::sde::AbstractSDEIntegrator< StateType >
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 Member Functions

 SRI1Integrator (std::shared_ptr< typename base_type::sde_problem_type > problem, std::shared_ptr< typename base_type::wiener_process_type > wiener=nullptr)
 
void step (state_type &state, time_type dt) override
 
std::string name () const override
 
- Public Member Functions inherited from diffeq::sde::AbstractSDEIntegrator< StateType >
 AbstractSDEIntegrator (std::shared_ptr< sde_problem_type > problem, std::shared_ptr< wiener_process_type > wiener=nullptr)
 
void integrate (state_type &state, time_type dt, time_type end_time)
 
time_type current_time () const
 
void set_time (time_type t)
 
std::shared_ptr< sde_problem_typeget_problem () const
 
std::shared_ptr< wiener_process_typeget_wiener_process () const
 
void set_wiener_process (std::shared_ptr< wiener_process_type > wiener)
 

Additional Inherited Members

- Protected Member Functions inherited from diffeq::sde::AbstractSDEIntegrator< StateType >
void advance_time (time_type dt)
 
virtual size_t get_default_dimension ()
 
- Protected Attributes inherited from diffeq::sde::AbstractSDEIntegrator< StateType >
std::shared_ptr< sde_problem_typeproblem_
 
std::shared_ptr< wiener_process_typewiener_
 
time_type current_time_
 

Detailed Description

template<system_state StateType>
class diffeq::SRI1Integrator< StateType >

Stochastic Runge-Kutta method (SRI1)

A second-order strong Taylor scheme for SDEs. More stable than Milstein for certain problems.

Strong order: 1.0 Weak order: 2.0

Definition at line 19 of file sri1.hpp.

Member Typedef Documentation

◆ base_type

template<system_state StateType>
using diffeq::SRI1Integrator< StateType >::base_type = sde::AbstractSDEIntegrator<StateType>

Definition at line 21 of file sri1.hpp.

◆ state_type

template<system_state StateType>
using diffeq::SRI1Integrator< StateType >::state_type = typename base_type::state_type

Definition at line 22 of file sri1.hpp.

◆ time_type

template<system_state StateType>
using diffeq::SRI1Integrator< StateType >::time_type = typename base_type::time_type

Definition at line 23 of file sri1.hpp.

◆ value_type

template<system_state StateType>
using diffeq::SRI1Integrator< StateType >::value_type = typename base_type::value_type

Definition at line 24 of file sri1.hpp.

Constructor & Destructor Documentation

◆ SRI1Integrator()

template<system_state StateType>
diffeq::SRI1Integrator< StateType >::SRI1Integrator ( std::shared_ptr< typename base_type::sde_problem_type problem,
std::shared_ptr< typename base_type::wiener_process_type wiener = nullptr 
)
inlineexplicit

Definition at line 26 of file sri1.hpp.

Member Function Documentation

◆ name()

template<system_state StateType>
std::string diffeq::SRI1Integrator< StateType >::name ( ) const
inlineoverridevirtual

Implements diffeq::sde::AbstractSDEIntegrator< StateType >.

Definition at line 96 of file sri1.hpp.

◆ step()

template<system_state StateType>
void diffeq::SRI1Integrator< StateType >::step ( state_type &  state,
time_type  dt 
)
inlineoverridevirtual

Implements diffeq::sde::AbstractSDEIntegrator< StateType >.

Definition at line 30 of file sri1.hpp.


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