Stability | experimental |
---|---|

Maintainer | David Sorokin <david.sorokin@gmail.com> |

Safe Haskell | Safe-Inferred |

Tested with: GHC 7.6.3

This module defines the random functions that always return the same values in the integration time points within a single simulation run. The values for another simulation run will be regenerated anew.

For example, the computations returned by these functions can be used in the equations of System Dynamics.

Also it is worth noting that the values are generated in a strong order starting
from `starttime`

with step `dt`

. This is how the `memo0Dynamics`

function
actually works.

- memoRandomUniformDynamics :: Dynamics Double -> Dynamics Double -> Simulation (Dynamics Double)
- memoRandomNormalDynamics :: Dynamics Double -> Dynamics Double -> Simulation (Dynamics Double)
- memoRandomExponentialDynamics :: Dynamics Double -> Simulation (Dynamics Double)
- memoRandomErlangDynamics :: Dynamics Double -> Dynamics Int -> Simulation (Dynamics Double)
- memoRandomPoissonDynamics :: Dynamics Double -> Simulation (Dynamics Int)
- memoRandomBinomialDynamics :: Dynamics Double -> Dynamics Int -> Simulation (Dynamics Int)

# Documentation

memoRandomUniformDynamicsSource

Computation that generates random numbers distributed uniformly and memoizes them in the integration time points.

memoRandomNormalDynamicsSource

Computation that generates random numbers distributed normally and memoizes them in the integration time points.

memoRandomExponentialDynamicsSource

:: Dynamics Double | the mean (the reciprocal of the rate) |

-> Simulation (Dynamics Double) |

Computation that generates exponential random numbers with the specified mean (the reciprocal of the rate) and memoizes them in the integration time points.

memoRandomErlangDynamicsSource

:: Dynamics Double | the scale (the reciprocal of the rate) |

-> Dynamics Int | the shape |

-> Simulation (Dynamics Double) |

Computation that generates the Erlang random numbers with the specified scale (the reciprocal of the rate) and integer shape but memoizes them in the integration time points.

memoRandomPoissonDynamicsSource

:: Dynamics Double | the mean |

-> Simulation (Dynamics Int) |

Computation that generats the Poisson random numbers with the specified mean and memoizes them in the integration time points.

memoRandomBinomialDynamicsSource

Computation that generates binomial random numbers with the specified probability and trials but memoizes them in the integration time points.