13 #ifndef HMC_VSP_RANDOMNUMBERS_HPP 14 #define HMC_VSP_RANDOMNUMBERS_HPP 18 const double PI = 3.14159265358979323846264338327;
25 double randn(
double mean,
double stdv);
33 std::vector<double>
randn(std::vector<double> means, std::vector<double> stdv);
41 std::vector<double>
randn(std::vector<double> stdv);
50 std::vector<double>
randn_Cholesky(std::vector<double> mean, std::vector<std::vector<double>>
51 CholeskyLower_CovarianceMatrix);
60 std::vector<double>
randn_Cholesky(std::vector<std::vector<double>> CholeskyLower_CovarianceMatrix);
66 std::vector<double>
randn(std::vector<std::vector<double>> DiagonalCovarianceMatrix);
73 double randf(
double min,
double max);
75 #endif //HMC_VSP_RANDOMNUMBERS_HPP
double randn(double mean, double stdv)
Draws from Gaussian (mean, standard deviation) using Box-Müller transform.
std::vector< double > randn_Cholesky(std::vector< double > mean, std::vector< std::vector< double >> CholeskyLower_CovarianceMatrix)
Drawing non-zero mean samples from an dimensional correlated Gaussian. Invokes randn_Cholesky(std::v...
double randf(double min, double max)
Draw uniformly distributed samples between two numbers.