Random Distributions for Real types
Function | Generator | Scalar Type | VoP | Description | Equivalent to |
Eigen::Rand::balanced | Eigen::Rand::BalancedGen | float, double | yes | generates real values in the [-1, 1] range | Eigen::DenseBase<Ty>::Random for floating point types |
Eigen::Rand::beta | Eigen::Rand::BetaGen | float, double | | generates real values on a beta distribution | |
Eigen::Rand::cauchy | Eigen::Rand::CauchyGen | float, double | yes | generates real values on the Cauchy distribution. | std::cauchy_distribution |
Eigen::Rand::chiSquared | Eigen::Rand::ChiSquaredGen | float, double | | generates real values on a chi-squared distribution. | std::chi_squared_distribution |
Eigen::Rand::exponential | Eigen::Rand::ExponentialGen | float, double | yes | generates real values on an exponential distribution. | std::exponential_distribution |
Eigen::Rand::extremeValue | Eigen::Rand::ExtremeValueGen | float, double | yes | generates real values on an extreme value distribution. | std::extreme_value_distribution |
Eigen::Rand::fisherF | Eigen::Rand::FisherFGen | float, double | | generates real values on the Fisher's F distribution. | std::fisher_f_distribution |
Eigen::Rand::gamma | Eigen::Rand::GammaGen | float, double | | generates real values on a gamma distribution. | std::gamma_distribution |
Eigen::Rand::lognormal | Eigen::Rand::LognormalGen | float, double | yes | generates real values on a lognormal distribution. | std::lognormal_distribution |
Eigen::Rand::normal | Eigen::Rand::StdNormalGen , Eigen::Rand::NormalGen | float, double | yes | generates real values on a normal distribution. | std::normal_distribution |
Eigen::Rand::studentT | Eigen::Rand::StudentTGen | float, double | yes | generates real values on the Student's t distribution. | std::student_t_distribution |
Eigen::Rand::uniformReal | Eigen::Rand::StdUniformRealGen , Eigen::Rand::UniformRealGen | float, double | yes | generates real values in the [0, 1) range. | std::generate_canonical |
Eigen::Rand::weibull | Eigen::Rand::WeibullGen | float, double | yes | generates real values on the Weibull distribution. | std::weibull_distribution |
VoP indicates 'Vectorization over Parameters'.
Random Distributions for Integer Types
VoP indicates 'Vectorization over Parameters'.
Multivariate Random Distributions
Random Number Engines
| Description | Equivalent to |
Eigen::Rand::Vmt19937_64 | a vectorized version of Mersenne Twister algorithm. It generates two 64bit random integers simultaneously with SSE2 and four integers with AVX2. | std::mt19937_64 |
Eigen::Rand::P8_mt19937_64 | a vectorized version of Mersenne Twister algorithm. Since it generates eight 64bit random integers simultaneously, the random values are the same regardless of architecture. | |