Bugs on boost::random < 1.56 (affects normal distributions)

30 views
Skip to first unread message

André Anjos

unread,
Oct 22, 2014, 9:24:59 AM10/22/14
to bob-...@googlegroups.com
Hello,

Caused by a recent set of (new) failing tests, we have realized there is an important bug with boost::random prior to version 1.56 (https://svn.boost.org/trac/boost/ticket/9513), which makes normal distributions not to yield gaussian-distributed numbers. We have also identified discrepencies in the following random distributions:
  • Normal (fixed in Boost >= 1.56)
  • LogNormal (fixed in Boost >= 1.56)
  • Discrete (known?)
  • Binomial (differences between Boost 1.48 and >1.50)
The bug on normal and log-normal distributions was fixed recently, on Boost 1.56 which implies in a second issue: sequences generated with a fixed seed will differ in Boost installations <1.56 and >=1.56.

The sole place at Bob we used a gaussian distribution is on "bob.ip.base/Affine.h", but Manuel should patch that up soon.

If you are using these distributions either on your C++ or Python code, make sure you're not affected by this bug.

You can rely on the "uniform" distributions as none of our tests have showed inconsistencies accross different operating systems and distributions, and extrapolate from there.

If you'd like to provide a patch to bob.core to fix the above-mentioned distributions, just send a pull request through github.

André
Reply all
Reply to author
Forward
0 new messages