SSJ API Documentation
Stochastic Simulation in Java
Loading...
Searching...
No Matches
umontreal.ssj.randvar.NormalGen Class Reference

This class implements methods for generating random variates from the normal distribution \(N(\mu, \sigma)\). More...

Inheritance diagram for umontreal.ssj.randvar.NormalGen:
umontreal.ssj.randvar.RandomVariateGen umontreal.ssj.randvar.NormalACRGen umontreal.ssj.randvar.NormalBoxMullerGen umontreal.ssj.randvar.NormalInverseFromDensityGen umontreal.ssj.randvar.NormalKindermannRamageGen umontreal.ssj.randvar.NormalPolarGen

Public Member Functions

 NormalGen (RandomStream s, double mu, double sigma)
 Creates a normal random variate generator with mean mu and standard deviation sigma, using stream s.
 NormalGen (RandomStream s)
 Creates a standard normal random variate generator with mean 0 and standard deviation 1, using stream s.
 NormalGen (RandomStream s, NormalDist dist)
 Creates a random variate generator for the normal distribution dist and stream s.
double getMu ()
 Returns the parameter \(\mu\) of this object.
double getSigma ()
 Returns the parameter \(\sigma\) of this object.
Public Member Functions inherited from umontreal.ssj.randvar.RandomVariateGen
 RandomVariateGen (RandomStream s, Distribution dist)
 Creates a new random variate generator from the distribution dist, using stream s.
double nextDouble ()
 Generates a random number from the continuous distribution contained in this object.
void nextArrayOfDouble (double[] v, int start, int n)
 Generates n random numbers from the continuous distribution contained in this object.
double[] nextArrayOfDouble (int n)
 Generates n random numbers from the continuous distribution contained in this object, and returns them in a new array of size n.
RandomStream getStream ()
 Returns the umontreal.ssj.rng.RandomStream used by this generator.
void setStream (RandomStream stream)
 Sets the umontreal.ssj.rng.RandomStream used by this generator to stream.
Distribution getDistribution ()
 Returns the umontreal.ssj.probdist.Distribution used by this generator.
String toString ()
 Returns a String containing information about the current generator.

Static Public Member Functions

static double nextDouble (RandomStream s, double mu, double sigma)
 Generates a variate from the normal distribution with parameters.

Protected Member Functions

void setParams (double mu, double sigma)
 Sets the parameters \(\mu\) and \(\sigma\) of this object.

Detailed Description

This class implements methods for generating random variates from the normal distribution \(N(\mu, \sigma)\).

It has mean \(\mu\) and variance \(\sigma^2\), where \(\sigma>0\). Its density function is

\[ f(x) = \frac{1}{\sqrt{2\pi}\sigma} e^{(x-\mu)^2/(2\sigma^2)} \tag{fnormal} \]

The nextDouble method simply calls inverseF on the distribution.

The following table gives the CPU time needed to generate \(10^8\) standard normal random variates using the different implementations available in SSJ. The first time is for a generator object (non-static method), and the second time is for the static method where no object is created. These tests were made on a machine with processor AMD Athlon 4000, running Red Hat Linux, with clock speed at 2403 MHz. The static method nextDouble() for NormalBoxMullerGen and NormalPolarGen uses only one number out of two that are generated; thus they are twice slower than the non-static method.

Generatortime in secondstime in seconds
(object)(static)
NormalGen7.677.72
NormalACRGen4.714.76
NormalBoxMullerGen16.0731.45
NormalPolarGen7.3113.74
NormalKindermannRamageGen5.385.34

Definition at line 96 of file NormalGen.java.

Constructor & Destructor Documentation

◆ NormalGen() [1/3]

umontreal.ssj.randvar.NormalGen.NormalGen ( RandomStream s,
double mu,
double sigma )

Creates a normal random variate generator with mean mu and standard deviation sigma, using stream s.

Definition at line 104 of file NormalGen.java.

◆ NormalGen() [2/3]

umontreal.ssj.randvar.NormalGen.NormalGen ( RandomStream s)

Creates a standard normal random variate generator with mean 0 and standard deviation 1, using stream s.

Definition at line 113 of file NormalGen.java.

◆ NormalGen() [3/3]

umontreal.ssj.randvar.NormalGen.NormalGen ( RandomStream s,
NormalDist dist )

Creates a random variate generator for the normal distribution dist and stream s.

Definition at line 121 of file NormalGen.java.

Member Function Documentation

◆ getMu()

double umontreal.ssj.randvar.NormalGen.getMu ( )

Returns the parameter \(\mu\) of this object.

Definition at line 139 of file NormalGen.java.

◆ getSigma()

double umontreal.ssj.randvar.NormalGen.getSigma ( )

Returns the parameter \(\sigma\) of this object.

Definition at line 146 of file NormalGen.java.

◆ nextDouble()

double umontreal.ssj.randvar.NormalGen.nextDouble ( RandomStream s,
double mu,
double sigma )
static

Generates a variate from the normal distribution with parameters.

\(\mu= \) mu and \(\sigma= \) sigma, using stream s.

Reimplemented in umontreal.ssj.randvar.NormalACRGen, umontreal.ssj.randvar.NormalBoxMullerGen, umontreal.ssj.randvar.NormalKindermannRamageGen, and umontreal.ssj.randvar.NormalPolarGen.

Definition at line 132 of file NormalGen.java.

◆ setParams()

void umontreal.ssj.randvar.NormalGen.setParams ( double mu,
double sigma )
protected

Sets the parameters \(\mu\) and \(\sigma\) of this object.

Definition at line 153 of file NormalGen.java.


The documentation for this class was generated from the following file: