aivika-4.3.4: A multi-paradigm simulation library

CopyrightCopyright (c) 2009-2015, David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Simulation.Aivika.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

randomUniform Source

Arguments

:: Double

minimum

-> Double

maximum

-> Parameter Double 

Computation that generates a new random number distributed uniformly.

randomUniformInt Source

Arguments

:: Int

minimum

-> Int

maximum

-> Parameter Int 

Computation that generates a new random integer number distributed uniformly.

randomTriangular Source

Arguments

:: Double

minimum

-> Double

median

-> Double

maximum

-> Parameter Double 

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

randomNormal Source

Arguments

:: Double

mean

-> Double

deviation

-> Parameter Double 

Computation that generates a new random number distributed normally.

randomLogNormal Source

Arguments

:: 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 Double 

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

randomExponential Source

Arguments

:: Double

the mean (the reciprocal of the rate)

-> Parameter Double 

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

randomErlang Source

Arguments

:: Double

the scale (the reciprocal of the rate)

-> Int

the shape

-> Parameter Double 

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

randomPoisson Source

Arguments

:: Double

the mean

-> Parameter Int 

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

randomBinomial Source

Arguments

:: Double

the probability

-> Int

the number of trials

-> Parameter Int 

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

randomGamma Source

Arguments

:: Double

the shape

-> Double

the scale (a reciprocal of the rate)

-> Parameter Double 

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

randomBeta Source

Arguments

:: Double

the shape (alpha)

-> Double

the shape (beta)

-> Parameter Double 

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

randomWeibull Source

Arguments

:: Double

shape

-> Double

scale

-> Parameter Double 

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

randomDiscrete :: DiscretePDF a -> Parameter a Source

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

randomTrue Source

Arguments

:: Double

the probability of the success

-> Parameter Bool 

Computation that returns True in case of success.

randomFalse Source

Arguments

:: Double

the probability of the success

-> Parameter Bool 

Computation that returns False in case of success.