A better way of generating pareto distr, and swap its parameters.
- Pareto distribution is now generated as a composition of a Gamma and
an exponential one
- Similarly to gamma() and weibull(), the shape parameter became the first one.
1.1 --- a/lemon/random.h Fri Dec 21 01:32:24 2007 +0000
1.2 +++ b/lemon/random.h Sat Dec 22 07:01:20 2007 +0000
1.3 @@ -798,16 +798,12 @@
1.4
1.5 /// This function generates a Pareto distribution random number.
1.6 ///
1.7 + ///\param k shape parameter (<tt>k>0</tt>)
1.8 ///\param x_min location parameter (<tt>x_min>0</tt>)
1.9 - ///\param k shape parameter (<tt>k>0</tt>)
1.10 ///
1.11 - ///\warning This function used inverse transform sampling, therefore may
1.12 - ///suffer from numerical unstability.
1.13 - ///
1.14 - ///\todo Implement a numerically stable method
1.15 - double pareto(double x_min,double k)
1.16 + double pareto(double k,double x_min)
1.17 {
1.18 - return x_min*pow(1.0-real<double>(),1.0/k);
1.19 + return exponential(gamma(k,1.0/x_min));
1.20 }
1.21
1.22 ///@}