aivika-transformers-4.3.5: Transformers for the Aivika simulation library

Copyright Copyright (c) 2009-2015, David Sorokin BSD3 David Sorokin experimental None Haskell2010

Simulation.Aivika.Trans.Parameter.Random

Description

Tested with: GHC 7.10.1

This module defines the random parameters of simulation experiments.

To create a parameter that would return the same value within the simulation run, you should memoize the computation with help of `memoParameter`, which is important for the Monte-Carlo simulation.

To create a random function that would return the same values in the integration time points within the simulation run, you should either lift the computation to the `Dynamics` computation and then memoize it too but using the `memo0Dynamics` function for that computation, or just take the predefined function that does namely this.

Synopsis

# Documentation

Arguments

 :: MonadComp m => Double minimum -> Double maximum -> Parameter m Double

Computation that generates a new random number distributed uniformly.

Arguments

 :: MonadComp m => Int minimum -> Int maximum -> Parameter m Int

Computation that generates a new random integer number distributed uniformly.

Arguments

 :: MonadComp m => Double minimum -> Double median -> Double maximum -> Parameter m Double

Computation that generates a new random number from the triangular distribution.

Arguments

 :: MonadComp m => Double mean -> Double deviation -> Parameter m Double

Computation that generates a new random number distributed normally.

Arguments

 :: MonadComp m => Double the mean of a normal distribution which this distribution is derived from -> Double the deviation of a normal distribution which this distribution is derived from -> Parameter m Double

Computation that generates a new random number from the lognormal distribution.

Arguments

 :: MonadComp m => Double the mean (the reciprocal of the rate) -> Parameter m Double

Computation that returns a new exponential random number with the specified mean (the reciprocal of the rate).

Arguments

 :: MonadComp m => Double the scale (the reciprocal of the rate) -> Int the shape -> Parameter m Double

Computation that returns a new Erlang random number with the specified scale (the reciprocal of the rate) and integer shape.

Arguments

 :: MonadComp m => Double the mean -> Parameter m Int

Computation that returns a new Poisson random number with the specified mean.

Arguments

 :: MonadComp m => Double the probability -> Int the number of trials -> Parameter m Int

Computation that returns a new binomial random number with the specified probability and trials.

Arguments

 :: MonadComp m => Double the shape -> Double the scale (a reciprocal of the rate) -> Parameter m Double

Computation that returns a new random number from the Gamma distribution.

Arguments

 :: MonadComp m => Double the shape (alpha) -> Double the shape (beta) -> Parameter m Double

Computation that returns a new random number from the Beta distribution.

Arguments

 :: MonadComp m => Double shape -> Double scale -> Parameter m Double

Computation that returns a new random number from the Weibull distribution.

randomDiscrete :: MonadComp m => DiscretePDF a -> Parameter m a Source

Computation that returns a new random value from the specified discrete distribution.

Arguments

 :: MonadComp m => Double the probability of the success -> Parameter m Bool

Computation that returns `True` in case of success.

Arguments

 :: MonadComp m => Double the probability of the success -> Parameter m Bool

Computation that returns `False` in case of success.