[ 
https://issues.apache.org/jira/browse/MATH-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13051560#comment-13051560
 ] 

Mikkel Meyer Andersen commented on MATH-585:
--------------------------------------------

The idea was that if I had to sample from both Gamma(1, 2) and Gamma(10, 34) I 
would instantiate two RandomDataImpl - one for sampling from Gamma(1, 2) and 
one for sampling from Gamma(10, 34). This would be efficient due to caching 
mechanisms in the inner class GammaRejectionSampler. If GammaRejectionSampler 
is made static, the two RandomDataImpl's would share the same 
GammaRejectionSampler, hence the caching would not be exploited, which is why 
it isn't static. I am not that used to using inner classes, so I might have 
misunderstood something - if so, please correct me.

Some of the constants are taken directly from the paper. I'll look into 
generating them with a larger number of digits.

Thanks for pointing out the exception-corrections.

> Very slow generation of gamma random variates
> ---------------------------------------------
>
>                 Key: MATH-585
>                 URL: https://issues.apache.org/jira/browse/MATH-585
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.2, 3.0
>         Environment: All
>            Reporter: Darren Wilkinson
>            Assignee: Mikkel Meyer Andersen
>              Labels: Gamma, Random
>         Attachments: MATH585-1.patch, MATH585-4-gamma.patch
>
>   Original Estimate: 6h
>  Remaining Estimate: 6h
>
> The current implementation of gamma random variate generation works, but uses 
> an inversion method. This is well-known to be a bad idea. Usually a carefully 
> constructed rejection procedure is used. To give an idea of the magnitude of 
> the problem, the Gamma variate generation in Parallel COLT is roughly 50 
> times faster than in Commons Math. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to