cc.mallet.util
Class Randoms

java.lang.Object
  extended by java.util.Random
      extended by cc.mallet.util.Randoms
All Implemented Interfaces:
java.io.Serializable

public class Randoms
extends java.util.Random

See Also:
Serialized Form

Constructor Summary
Randoms()
           
Randoms(int seed)
           
 
Method Summary
 java.util.Random asJavaRandom()
          Deprecated. 
static void main(java.lang.String[] args)
           
 double nextBeta(double alpha, double beta)
          Return a random double drawn from a Beta distribution with mean a/(a+b) and variance ab/((a+b+1)(a+b)^2).
 java.util.BitSet nextBitSet(int size, double p)
          Return a random BitSet with "size" bits, each having probability p of being true.
 boolean nextBoolean()
          Return a random boolean, equally likely to be true or false.
 boolean nextBoolean(double p)
          Return a random boolean, with probability p of being true.
 double nextChiSq()
          Return a random double drawn from an Chi-squarted distribution with mean 1 and variance 2.
 double nextChiSq(int df)
          Return a random double drawn from an Chi-squared distribution with mean df and variance 2*df.
 double nextChiSq(int df, double lambda)
          Return a random double drawn from an Chi-squared distribution with mean df+lambda and variance 2*df.
 int nextDiscrete(double[] a)
          Draw a single sample from multinomial "a".
 int nextDiscrete(double[] a, double sum)
          draw a single sample from (unnormalized) multinomial "a", with normalizing factor "sum".
 double nextExp()
          Return a random double drawn from an Exponential distribution with mean 1 and variance 1.
 double nextExp(double beta)
          Return a random double drawn from an Exponential distribution with mean beta and variance beta^2.
 double nextExp(double beta, double lambda)
          Return a random double drawn from an Exponential distribution with mean beta+lambda and variance beta^2.
 double nextGamma()
          Return a random double drawn from a Gamma distribution with mean 1.0 and variance 1.0.
 double nextGamma(double alpha)
          Return a random double drawn from a Gamma distribution with mean alpha and variance 1.0.
 double nextGamma(double alpha, double beta)
          Return a random double drawn from a Gamma distribution with mean alpha*beta and variance alpha*beta^2.
 double nextGamma(double alpha, double beta, double lambda)
          Return a random double drawn from a Gamma distribution with mean alpha*beta+lamba and variance alpha*beta^2.
 double nextGaussian()
          Return a random double drawn from a Gaussian distribution with mean 0 and variance 1.
 double nextGaussian(double m, double s2)
          Return a random double drawn from a Gaussian distribution with mean m and variance s2.
 int nextPoisson()
          Return nextPoisson(1).
 int nextPoisson(double lambda)
          Return random integer from Poission with parameter lambda.
 double nextUniform()
          Return a random double in the range 0 to 1, inclusive, uniformly sampled from that range.
 double nextUniform(double a, double b)
          Return a random double in the range a to b, inclusive, uniformly sampled from that range.
 double oldNextGamma(int ia)
           
 
Methods inherited from class java.util.Random
next, nextBytes, nextDouble, nextFloat, nextInt, nextInt, nextLong, setSeed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Randoms

public Randoms(int seed)

Randoms

public Randoms()
Method Detail

nextPoisson

public int nextPoisson(double lambda)
Return random integer from Poission with parameter lambda. The mean of this distribution is lambda. The variance is lambda.


nextPoisson

public int nextPoisson()
Return nextPoisson(1).


nextBoolean

public boolean nextBoolean()
Return a random boolean, equally likely to be true or false.

Overrides:
nextBoolean in class java.util.Random

nextBoolean

public boolean nextBoolean(double p)
Return a random boolean, with probability p of being true.


nextBitSet

public java.util.BitSet nextBitSet(int size,
                                   double p)
Return a random BitSet with "size" bits, each having probability p of being true.


nextUniform

public double nextUniform()
Return a random double in the range 0 to 1, inclusive, uniformly sampled from that range. The mean of this distribution is 0.5. The variance is 1/12.


nextUniform

public double nextUniform(double a,
                          double b)
Return a random double in the range a to b, inclusive, uniformly sampled from that range. The mean of this distribution is (b-a)/2. The variance is (b-a)^2/12


nextDiscrete

public int nextDiscrete(double[] a)
Draw a single sample from multinomial "a".


nextDiscrete

public int nextDiscrete(double[] a,
                        double sum)
draw a single sample from (unnormalized) multinomial "a", with normalizing factor "sum".


nextGaussian

public double nextGaussian()
Return a random double drawn from a Gaussian distribution with mean 0 and variance 1.

Overrides:
nextGaussian in class java.util.Random

nextGaussian

public double nextGaussian(double m,
                           double s2)
Return a random double drawn from a Gaussian distribution with mean m and variance s2.


nextGamma

public double nextGamma()
Return a random double drawn from a Gamma distribution with mean 1.0 and variance 1.0.


nextGamma

public double nextGamma(double alpha)
Return a random double drawn from a Gamma distribution with mean alpha and variance 1.0.


oldNextGamma

public double oldNextGamma(int ia)

nextGamma

public double nextGamma(double alpha,
                        double beta)
Return a random double drawn from a Gamma distribution with mean alpha*beta and variance alpha*beta^2.


nextGamma

public double nextGamma(double alpha,
                        double beta,
                        double lambda)
Return a random double drawn from a Gamma distribution with mean alpha*beta+lamba and variance alpha*beta^2. Note that this means the pdf is: frac{ x^{alpha-1} exp(-x/beta) }{ beta^alpha Gamma(alpha) } in other words, beta is a "scale" parameter. An alternative parameterization would use 1/beta, the "rate" parameter.


nextExp

public double nextExp()
Return a random double drawn from an Exponential distribution with mean 1 and variance 1.


nextExp

public double nextExp(double beta)
Return a random double drawn from an Exponential distribution with mean beta and variance beta^2.


nextExp

public double nextExp(double beta,
                      double lambda)
Return a random double drawn from an Exponential distribution with mean beta+lambda and variance beta^2.


nextChiSq

public double nextChiSq()
Return a random double drawn from an Chi-squarted distribution with mean 1 and variance 2. Equivalent to nextChiSq(1)


nextChiSq

public double nextChiSq(int df)
Return a random double drawn from an Chi-squared distribution with mean df and variance 2*df.


nextChiSq

public double nextChiSq(int df,
                        double lambda)
Return a random double drawn from an Chi-squared distribution with mean df+lambda and variance 2*df.


nextBeta

public double nextBeta(double alpha,
                       double beta)
Return a random double drawn from a Beta distribution with mean a/(a+b) and variance ab/((a+b+1)(a+b)^2).


asJavaRandom

@Deprecated
public java.util.Random asJavaRandom()
Deprecated. 

Wrap this instance as a java random, so it can be passed to legacy methods. All methods of the returned java.util.Random object will affect the state of this object, as well.


main

public static void main(java.lang.String[] args)