java.lang.Object
org.cicirello.math.rand.RandomVariates
This utility class provides methods for generating random variates from different distributions.
-
Method Summary
Modifier and TypeMethodDescriptionstatic intnextBinomial(int n, double p) Generates a pseudorandom integer from a binomial distribution.static intnextBinomial(int n, double p, RandomGenerator r) Generates a pseudorandom integer from a binomial distribution.static doublenextCauchy(double scale) Generates a pseudorandom number from a Cauchy distribution with median 0 and chosen scale parameter.static doublenextCauchy(double median, double scale) Generates a pseudorandom number from a Cauchy distribution.static doublenextCauchy(double median, double scale, RandomGenerator r) Generates a pseudorandom number from a Cauchy distribution.static doublenextCauchy(double scale, RandomGenerator r) Generates a pseudorandom number from a Cauchy distribution with median 0 and chosen scale parameter.static doubleGenerates a random number from a Gaussian distribution with mean 0 and standard deviation 1.static doublenextGaussian(double sigma) Generates a random number from a Gaussian distribution with mean 0 and standard deviation sigma.static doublenextGaussian(double mu, double sigma) Generates a random number from a Gaussian distribution with mean mu and standard deviation sigma.static doublenextGaussian(double mu, double sigma, RandomGenerator r) Generates a random number from a Gaussian distribution with mean mu and standard deviation sigma.static doublenextGaussian(double sigma, RandomGenerator r) Generates a random number from a Gaussian distribution with mean 0 and standard deviation sigma.static doubleGenerates a random number from a Gaussian distribution with mean 0 and standard deviation 1.
-
Method Details
-
nextBinomial
public static int nextBinomial(int n, double p) Generates a pseudorandom integer from a binomial distribution. The source of randomness is via theThreadLocalRandomclass, and thus this method is both safe and efficient for use with threads.- Parameters:
n- Number of trials for the binomial distribution.p- The probability of a successful trial.- Returns:
- A pseudorandom integer from a binomial distribution.
-
nextBinomial
Generates a pseudorandom integer from a binomial distribution.- Parameters:
n- Number of trials for the binomial distribution.p- The probability of a successful trial.r- The source of randomness.- Returns:
- A pseudorandom integer from a binomial distribution.
-
nextCauchy
public static double nextCauchy(double median, double scale) Generates a pseudorandom number from a Cauchy distribution.- Parameters:
median- The median of the Cauchy.scale- The scale parameter of the Cauchy.- Returns:
- a pseudorandom number from a Cauchy distribution
-
nextCauchy
public static double nextCauchy(double scale) Generates a pseudorandom number from a Cauchy distribution with median 0 and chosen scale parameter.- Parameters:
scale- The scale parameter of the Cauchy.- Returns:
- a pseudorandom number from a Cauchy distribution
-
nextCauchy
Generates a pseudorandom number from a Cauchy distribution.- Parameters:
median- The median of the Cauchy.scale- The scale parameter of the Cauchy.r- The source of randomness.- Returns:
- a pseudorandom number from a Cauchy distribution
-
nextCauchy
Generates a pseudorandom number from a Cauchy distribution with median 0 and chosen scale parameter.- Parameters:
scale- The scale parameter of the Cauchy.r- The source of randomness.- Returns:
- a pseudorandom number from a Cauchy distribution
-
nextGaussian
public static double nextGaussian(double mu, double sigma) Generates a random number from a Gaussian distribution with mean mu and standard deviation sigma. This method uses the library's current most-efficient algorithm for Gaussian random number generation, which may change in future releases. If you require a guarantee of the algorithm used, then see the API for the classes that implement specific Gaussian algorithms.ThreadLocalRandomis used as the source of randomness.- Parameters:
mu- The mean of the Gaussian.sigma- The standard deviation of the Gaussian.- Returns:
- A random number from a Gaussian distribution with mean mu and standard deviation sigma.
-
nextGaussian
Generates a random number from a Gaussian distribution with mean mu and standard deviation sigma. This method uses the library's current most-efficient algorithm for Gaussian random number generation, which may change in future releases. If you require a guarantee of the algorithm used, then see the API for the classes that implement specific Gaussian algorithms.- Parameters:
mu- The mean of the Gaussian.sigma- The standard deviation of the Gaussian.r- The pseudorandom number generator to use for the source of randomness.- Returns:
- A random number from a Gaussian distribution with mean mu and standard deviation sigma.
-
nextGaussian
public static double nextGaussian(double sigma) Generates a random number from a Gaussian distribution with mean 0 and standard deviation sigma. This method uses the library's current most-efficient algorithm for Gaussian random number generation, which may change in future releases. If you require a guarantee of the algorithm used, then see the API for the classes that implement specific Gaussian algorithms.ThreadLocalRandomis used as the source of randomness.- Parameters:
sigma- The standard deviation of the Gaussian.- Returns:
- A random number from a Gaussian distribution with mean 0 and standard deviation sigma.
-
nextGaussian
Generates a random number from a Gaussian distribution with mean 0 and standard deviation sigma. This method uses the library's current most-efficient algorithm for Gaussian random number generation, which may change in future releases. If you require a guarantee of the algorithm used, then see the API for the classes that implement specific Gaussian algorithms.- Parameters:
sigma- The standard deviation of the Gaussian.r- The pseudorandom number generator to use for the source of randomness.- Returns:
- A random number from a Gaussian distribution with mean 0 and standard deviation sigma.
-
nextGaussian
public static double nextGaussian()Generates a random number from a Gaussian distribution with mean 0 and standard deviation 1. This method uses the library's current most-efficient algorithm for Gaussian random number generation, which may change in future releases. If you require a guarantee of the algorithm used, then see the API for the classes that implement specific Gaussian algorithms.ThreadLocalRandomis used as the pseudorandom number generator for the source of randomness.- Returns:
- A random number from a Gaussian distribution with mean 0 and standard deviation 1.
-
nextGaussian
Generates a random number from a Gaussian distribution with mean 0 and standard deviation 1. This method uses the library's current most-efficient algorithm for Gaussian random number generation, which may change in future releases. If you require a guarantee of the algorithm used, then see the API for the classes that implement specific Gaussian algorithms.- Parameters:
r- The pseudorandom number generator to use for the source of randomness.- Returns:
- A random number from a Gaussian distribution with mean 0 and standard deviation 1.
-