Re: [boost] [Boost.Random]Comments/Questions

---------- Forwarded message ----------
From: Neal Becker <ndbecker2@gmail.com> To: boost@lists.boost.org Date: Wed, 24 May 2006 21:56:03 -0400 Subject: Re: [boost] [Boost.Random]Comments/Questions Darren O'Driscoll wrote:
snip
I hope noone's switched off during my long pre-amble, on to the meat of my post:
1. In general I've noticed that deviates for specific distributions are generated in one of two ways - a) according to a special algorithm, which usually involves generating one or more uniforms and doing some optimised transforms, or b) by generating a (0,1) uniform, and inverting the Cumulative distribution function.
Method a), which seems to have been stuck to in Boost.Random is generally the more efficient of the two methods, but there are a number of cases where b) is necessary, specifically when using low-discrepancy sequences such as SOBOL as a base for the generation, of when using the stratified sampling technique in Monte Carlo.
Would it be beyond the scope of this library to provide this kind of support?
2. Following on from the last point, it would be very useful if SOBOL sequence generation was included in the library.
3. I've noticed that at least one of the generators (Normal) uses a sub-optimal generator. I've attached an alternative implementation which I knocked together this evening which in my tests is about 30% faster. Note this was heavily influenced by an algorithm described in "Numerical Recipies in C".
4. The list of distributions where deviate generators are provided is quite short. As mentioned before, I'm quite interested in this area, and would be happy to help with algorithms for some other distributions, though sadly I would estimate that my C++ skills are still quite a lot below the median here.
Neal Becker wrote:
Have you looked at unuran? Looks interesting:
Cheers for that Neal, It does look like an interesting site. I've had a look around and found some useful stuff there.
However my post was more aimed at suggestions for possible improvements to the Boost.Random library. I notice I didn't really get a responce on this. Is that because it was all unteresting stuff / stuff which has been gone over in detail previously, or is that library now closed to changes / unsupported?

Darren O'Driscoll wrote:
However my post was more aimed at suggestions for possible improvements to the Boost.Random library. I notice I didn't really get a responce on this. Is that because it was all unteresting stuff / stuff which has been gone over in detail previously, or is that library now closed to changes / unsupported?
Improvements are always welcome, I suggest you try contacting Jens Mauer directly, but in any case you could package up your additions and submit them as an extension to an existing library. John.
participants (2)
-
Darren O'Driscoll
-
John Maddock