Package cern.jet.random
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). |
-
Class Summary Class Description AbstractContinousDistribution Abstract base class for all continous distributions.AbstractDiscreteDistribution Abstract base class for all discrete distributions.AbstractDistribution Abstract base class for all random distributions.Benchmark Benchmarks random number generation from various distributions as well as PDF and CDF lookups.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.Fun Contains various mathematical helper methods.Gamma 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.Poisson Poisson distribution (quick); See the math definition and animated definition.PoissonSlow Poisson distribution; See the math definition and animated definition.Stack Not yet commented.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.Zeta Zeta distribution.