Package jsl.utilities.random.rvariable
This package contains implementations of random variables in order to generate random variates from
various distributions. In most cases, the inverse transform technique is used. The JSLRandom class
has static methods for various distributions. Creating an instance of a random variable allows the
programmer to better leverage object-oriented principles. In addition, each random variable instance
has its own underlying stream. Thus, different instances of random variables produce (for all practical purposes)
independent random variates based on their independent stream instances. To control dependenced between
generated instances, users can provide streams and control the streams to manipulate it randomness.
-
Interface Summary Interface Description GetRVariableIfc An interface for getting random variablesMVRVariableIfc An interface for defining random variablesMVSampleIfc An interface for getting multi-variable samples, each sample has many values held in an arrayNewAntitheticInstanceIfc RVariableIfc An interface for defining random variables. -
Class Summary Class Description AbstractMVRVariable AbstractRVariable An abstract base class for building random variables.AR1NormalRV BernoulliRV Bernoulli(probability of success) random variableBetaRV Beta(alpha1, alpha2) random variable, range (0,1)BinomialRV BinomialRV(probability of success, number of trials)BivariateLogNormalRV Allows for the generation of bi-variate lognormal random variablesBivariateNormalRV Allows for the generation of bi-variate normal random variablesChiSquaredRV Chi-Squared(degrees of freedom) random variableConstantRV Allows a constant to pretend to be a random variableDEmpiricalRV Discrete Empirical Random Variable.DUniformRV discrete uniform(min, max) random variableEmpiricalRV A random variable that samples from the provided dataExponentialRV Exponential(mean) random variableGammaRV Gamma(shape, scale) random variableGeneralizedBetaRV GeneralizeBetaRV(alpha1, alpha2, min, max) random variableGeometricRV Geometric(probability of success) random variable, range 0, 1, 2, etc.Hyper2ExponentialRV Two exponential random variables mixed to get a hyper-exponential.InverseCDFRV Facilitates the creation of random variables from distributions that implement InverseCDFIfcJohnsonBRV JohnsonB(alpha1, alpha2, min, max) random variableJSLRandom The purpose of this class is to facilitate random variate generation from various distributions through a set of static class methods.LaplaceRV Normal(mean, variance)LogLogisticRV LogLogistic(shape, scale) random variableLognormalRV Lognormal(mean, variance).MixtureRV NegativeBinomialRV NegativeBinomial(probability of success, number of trials until rth success)NormalRV Normal(mean, variance)PearsonType5RV Pearson Type 5(shape, scale) random variablePearsonType6RV Pearson Type 6(alpha1, alpha2, beta) random variablePoissonRV Poisson(mean) random variableRVControls RVFactory Permits construction of random variables based on factory instances defined by controls.ShiftedGeometricRV Shifted Geometric(probability of success) random variable, range 1, 2, 3, etc.ShiftedRV Shifts the generated value of the supplied random variable by the shift amount.StudentTRV TriangularRV Triangular(min, mode, max) random variableTruncatedRV UniformRV Continuous uniform(min, max) random variableVConstantRV WeibullRV Weibull(shape, scale) random variable -
Enum Summary Enum Description JSLRandom.AlgoType RVariableIfc.RVType The set of pre-defined distribution types