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 int
nextBinomial
(int n, double p) Generates a pseudorandom integer from a binomial distribution.static int
nextBinomial
(int n, double p, RandomGenerator r) Generates a pseudorandom integer from a binomial distribution.static double
nextCauchy
(double scale) Generates a pseudorandom number from a Cauchy distribution with median 0 and chosen scale parameter.static double
nextCauchy
(double median, double scale) Generates a pseudorandom number from a Cauchy distribution.static double
nextCauchy
(double median, double scale, RandomGenerator r) Generates a pseudorandom number from a Cauchy distribution.static double
nextCauchy
(double scale, RandomGenerator r) Generates a pseudorandom number from a Cauchy distribution with median 0 and chosen scale parameter.static double
Generates a random number from a Gaussian distribution with mean 0 and standard deviation 1.static double
nextGaussian
(double sigma) Generates a random number from a Gaussian distribution with mean 0 and standard deviation sigma.static double
nextGaussian
(double mu, double sigma) Generates a random number from a Gaussian distribution with mean mu and standard deviation sigma.static double
nextGaussian
(double mu, double sigma, RandomGenerator r) Generates a random number from a Gaussian distribution with mean mu and standard deviation sigma.static double
nextGaussian
(double sigma, RandomGenerator r) Generates a random number from a Gaussian distribution with mean 0 and standard deviation sigma.static double
Generates 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 theThreadLocalRandom
class, 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.ThreadLocalRandom
is 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.ThreadLocalRandom
is 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.ThreadLocalRandom
is 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.
-