
| DT | Type of the diffusion matrix. | |
| DDT | Type of the diffusion partial derivative matrices. |
The general usage idiom is as for indii::ml::ode::AdaptiveRungeKutta. The class will automatically keep track of Wiener process increments.
Definition at line 35 of file StochasticAdaptiveEulerMaruyama.hpp.
Public Member Functions | |
| StochasticAdaptiveEulerMaruyama (StochasticDifferentialModel< DT, DDT > *model) | |
| Constructor. | |
| StochasticAdaptiveEulerMaruyama (StochasticDifferentialModel< DT, DDT > *model, const indii::ml::aux::vector &y0) | |
| Constructor. | |
| virtual | ~StochasticAdaptiveEulerMaruyama () |
| Destructor. | |
| virtual double | step (double upper) |
| Advance the system one time step. | |
| virtual double | stepBack (double lower) |
| Rewind the system one time step. | |
| virtual int | calculateDerivativesForward (double t, const double y[], double dydt[]) |
| Calculate derivatives for forwards step. | |
| virtual int | calculateDerivativesBackward (double t, const double y[], double dydt[]) |
| Calculate derivatives for backwards step. | |
| StochasticAdaptiveEulerMaruyama | ( | StochasticDifferentialModel< DT, DDT > * | model | ) | [inline] |
Constructor.
| model | Model to estimate. |
Definition at line 110 of file StochasticAdaptiveEulerMaruyama.hpp.
| StochasticAdaptiveEulerMaruyama | ( | StochasticDifferentialModel< DT, DDT > * | model, | |
| const indii::ml::aux::vector & | y0 | |||
| ) | [inline] |
Constructor.
| model | Model to estimate. | |
| y0 | Initial state. |
Definition at line 121 of file StochasticAdaptiveEulerMaruyama.hpp.
| ~StochasticAdaptiveEulerMaruyama | ( | ) | [inline, virtual] |
| double step | ( | double | upper | ) | [inline, virtual] |
Advance the system one time step.
The size of the step is chosen to be optimal given the provided error bounds. State variables are updated to this new time after completion of the step.
| upper | Upper bound on time. This must be greater than the current time. The current time is guaranteed not to exceed this value after the step is complete. It may equal this time, and indeed if step() is continuously called with the same upper bound it will eventually do so. |
Reimplemented from NumericalSolver.
Definition at line 141 of file StochasticAdaptiveEulerMaruyama.hpp.
| double stepBack | ( | double | lower | ) | [inline, virtual] |
Rewind the system one time step.
This works in the same fashion at step(), except that the step is backwards in time.
| lower | Lower bound on time. This must be less than the current time. The current time is guaranteed not to be below this value after the step is complete. It may equal this time, and indeed if stepBack() is continuously called with the same lower bound it will eventually do so. |
Reimplemented from NumericalSolver.
Definition at line 251 of file StochasticAdaptiveEulerMaruyama.hpp.
| int calculateDerivativesForward | ( | double | t, | |
| const double | y[], | |||
| double | dydt[] | |||
| ) | [inline, virtual] |
Calculate derivatives for forwards step.
Implements NumericalSolver.
Definition at line 259 of file StochasticAdaptiveEulerMaruyama.hpp.
| int calculateDerivativesBackward | ( | double | t, | |
| const double | y[], | |||
| double | dydt[] | |||
| ) | [inline, virtual] |
Calculate derivatives for backwards step.
Implements NumericalSolver.
Definition at line 268 of file StochasticAdaptiveEulerMaruyama.hpp.
1.5.3