Package cern.jet.random

Large variety of probability distributions featuring high performance generation of random numbers, CDF's and PDF's.

See:
          Description

Class Summary
AbstractContinousDistribution Abstract base class for all continous distributions.
AbstractDiscreteDistribution Abstract base class for all discrete distributions.
AbstractDistribution Abstract base class for all random distributions.
Beta Beta distribution; math definition and animated definition.
Binomial Binomial distribution; See the math definition and animated definition.
BreitWigner BreitWigner (aka Lorentz) distribution; See the math definition.
BreitWignerMeanSquare Mean-square BreitWigner distribution; See the math definition.
ChiSquare ChiSquare distribution; See the math definition and animated definition.
Distributions Contains methods for conveniently generating pseudo-random numbers from special distributions such as the Burr, Cauchy, Erlang, Geometric, Lambda, Laplace, Logistic, Weibull, etc.
Empirical Empirical distribution.
EmpiricalWalker Discrete Empirical distribution (pdf's can be specified).
Exponential Exponential Distribution (aka Negative Exponential Distribution); See the math definition animated definition.
ExponentialPower Exponential Power distribution.
Gamma Gamma distribution; math definition, definition of gamma function and animated definition.
Hyperbolic Hyperbolic distribution.
HyperGeometric HyperGeometric distribution; See the math definition The hypergeometric distribution with parameters N, n and s is the probability distribution of the random variable X, whose value is the number of successes in a sample of n items from a population of size N that has s 'success' items and N - s 'failure' items.
Logarithmic Logarithmic distribution.
NegativeBinomial Negative Binomial distribution; See the math definition.
Normal Normal (aka Gaussian) distribution; See the math definition and animated definition.
Pareto Pareto Distribution.
ParetoII Pareto II Distribution is modified Pareto Distribution by left shift along the x-axis.
Poisson Poisson distribution (quick); See the math definition and animated definition.
PoissonSlow Poisson distribution; See the math definition and animated definition.
StudentT StudentT distribution (aka T-distribution); See the math definition and animated definition.
Uniform Uniform distribution; Math definition and animated definition.
VonMises Von Mises distribution.
Wald Wald distribution; also called Inverse Gaussian distribution;
Weibull Weibull Distribution.
Zeta Zeta distribution.
 

Package cern.jet.random Description

Large variety of probability distributions featuring high performance generation of random numbers, CDF's and PDF's. You can always do a quick and dirty check to test the properties of any given distribution, for example, as follows:
// Gamma distribution

// define distribution parameters
double mean = 5;
double variance = 1.5;
double alpha = mean*mean / variance; 
double lambda = 1 / (variance / mean); 

// for tests and debugging use a random engine with CONSTANT seed --> deterministic and reproducible results
cern.jet.random.engine.RandomEngine engine = new cern.jet.random.engine.MersenneTwister(); 

// your favourite distribution goes here
cern.jet.random.AbstractDistribution dist = new cern.jet.random.Gamma(alpha,lambda,engine);

// collect random numbers and print statistics
int size = 100000;
cern.colt.list.DoubleArrayList numbers = new cern.colt.list.DoubleArrayList(size);
for (int i=0; i < size; i++) numbers.add(dist.nextDouble());

hep.aida.bin.DynamicBin1D bin = new hep.aida.bin.DynamicBin1D();
bin.addAllOf(numbers);
System.out.println(bin);

Will print something like

Size: 100000
Sum: 499830.30147620925
SumOfSquares: 2648064.0189520954
Min: 1.2903021480010035
Max: 12.632626684290546
Mean: 4.998303014762093
RMS: 5.14593433591228
Variance: 1.497622138362513
Standard deviation: 1.2237737284165373
Standard error: 0.0038699123224725817
Geometric mean: 4.849381516061957
Product: Infinity
Harmonic mean: 4.69916104903662
Sum of inversions: 21280.394299425236
Skew: 0.49097523334186227
Kurtosis: 0.3461005384481113
Sum of powers(3): 1.4822908764628284E7
Sum of powers(4): 8.741360251658581E7
Sum of powers(5): 5.41658186456702E8
Sum of powers(6): 3.5183920126086535E9
Moment(0,0): 1.0
Moment(1,0): 4.998303014762093
Moment(2,0): 26.480640189520955
Moment(3,0): 148.22908764628284
Moment(4,0): 874.1360251658581
Moment(5,0): 5416.58186456702
Moment(6,0): 35183.92012608654
Moment(0,mean()): 1.0
Moment(1,mean()): 3.7017002796346785E-14
Moment(2,mean()): 1.4976071621409774
Moment(3,mean()): 0.8998351672510565
Moment(4,mean()): 7.50487543880015
Moment(5,mean()): 14.413483695698101
Moment(6,mean()): 77.72119325586715
25%, 50%, 75% Quantiles: 4.122365795016783, 4.897730017566362, 5.763097174551738
quantileInverse(median): 0.500005
Distinct elements & frequencies not printed (too many).