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

Simulation.Aivika.Trans.Parameter.Random

Description

Tested with: GHC 8.0.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.