|
Boost : |
From: Darren O'Driscoll (darren.odriscoll_at_[hidden])
Date: 2006-06-08 15:09:10
---------- Forwarded message ----------
> > > From: Neal Becker <ndbecker2_at_[hidden]>
> > > To: boost_at_[hidden]
> > > 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:
> > > http://statistik.wu-wien.ac.at/unuran/
> >
> >
> 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?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk