
On Mon, Feb 1, 2010 at 4:46 PM, Steven Watanabe
AMDG
Thomas Mang wrote:
[cut]
Yes. There's a draft at http://www.cs.hmc.edu/~swatanabe/random_doc/libs/random/doc/html/
Good news!
But for what regards Gamma distribution I would to point out that
actually the code used to generate random Gamma variates cannot be
used to generate variates for two-parameters Gamma distributions
(e.g., http://en.wikipedia.org/wiki/Gamma_distribution or
http://www.itl.nist.gov/div898/handbook/eda/section3/eda366b.htm).
In principle this should be possible by means of the "scaling property":
Gamma(shape,scale) ~ scale*Gamma(shape,1)
This would simply translate into
boost::mt19937 rng;
boost::gamma_distribution<> gamma(shape); // 1-parameter Gamma distribution
boost::variate_generator
rvg(rng, gamma); double r = scale*rvg();
However, when shape == 1 the implementation uses the fact that Gamma(1) ~ Exp(1). This is rigth when scale==1 but not when scale != 1 since the exact relation is Gamma(1,scale) ~ Exp(1/scale) It is possibile to fix this problem? Also, it seems that the C++0x is rethinking the way to model the Gamma distribution as a two parameter distribution (see Sec. 26.5.8.3.3 [rand.dist.pois.gamma] at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n3000.pdf). Maybe it is the case that also Boost think about it, do you? Best, -- Marco
In Christ, Steven Watanabe
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users