
Definition at line 20 of file StochasticNumericalSolver.hpp.
Public Member Functions | |
| StochasticNumericalSolver (const unsigned int dimensions, const unsigned int noises) | |
| Constructor. | |
| StochasticNumericalSolver (const indii::ml::aux::vector &y0, const unsigned int noises) | |
| Constructor. | |
| virtual | ~StochasticNumericalSolver () |
| Destructor. | |
Protected Member Functions | |
| bool | sampleNoise (double *ts) |
| Sample Wiener process noise. | |
| virtual void | reset () |
| Reset the model. | |
Protected Attributes | |
| indii::ml::aux::WienerProcess < double > | W |
| Wiener process system noise. | |
| std::stack< double > | tf |
; future times. | |
| std::stack < indii::ml::aux::vector > | dWf |
; Wiener process increments at future times. | |
| StochasticNumericalSolver | ( | const unsigned int | dimensions, | |
| const unsigned int | noises | |||
| ) |
Constructor.
| dimensions | Dimensionality of the state space. | |
| noises | Dimensionality of the noise space. |
Definition at line 7 of file StochasticNumericalSolver.cpp.
| StochasticNumericalSolver | ( | const indii::ml::aux::vector & | y0, | |
| const unsigned int | noises | |||
| ) |
Constructor.
| y0 | Initial state. | |
| noises | Dimensionality of the noise space. |
Definition at line 13 of file StochasticNumericalSolver.cpp.
| ~StochasticNumericalSolver | ( | ) | [virtual] |
| bool sampleNoise | ( | double * | ts | ) | [protected] |
Sample Wiener process noise.
This conditions on previous samples of the Wiener trajectory at future times resulting from time steps rejected by the adaptive step size control. This ensures that steps are rejected only due to error bounds being exceeded and not due to an improbable but perfectly valid Wiener trajectory.
| ts | ; the time at which to sample the noise. If this is greater than the earliest time in the future path, will be adjusted to this earliest time on return. |
be the current time and
the time at which to sample the noise.
Of the stored Wiener increments at times
, let
be the greatest time less than or equal to
, and
the least time greater than
.
and
are the corresponding Wiener increments.
If
does not exist, set
.
Then, if
, draw
. If
does not exist, set
. Otherwise, set:
and store.
Definition at line 22 of file StochasticNumericalSolver.cpp.
| void reset | ( | ) | [protected, virtual] |
Reset the model.
This is used internally to reset GSL structures when the next step will not be a continuation of the last, usually when the time or state is changed with a call to setTime(), setVariable() or setState().
Reimplemented from NumericalSolver.
Definition at line 56 of file StochasticNumericalSolver.cpp.
indii::ml::aux::WienerProcess<double> W [protected] |
std::stack<double> tf [protected] |
std::stack<indii::ml::aux::vector> dWf [protected] |
; Wiener process increments at future times.
Definition at line 65 of file StochasticNumericalSolver.hpp.
1.5.3