【发布时间】:2011-07-28 17:07:04
【问题描述】:
我正在用 C++ 进行蒙特卡罗模拟,并且我使用 Boost 来处理随机数。我也用过 GSL。但事实证明随机数生成是我最大的运行时效率低下之一,所以我刚开始使用来自cstdlib 的旧rand()。
我的模拟中随机数属性差的风险有多严重?我使用大约 10^6 或 10^7 个随机数样本。
【问题讨论】:
-
您在发布之前是否阅读了about-rand- 中的答案:?)尤其是 Martin v. Löwis 的答案产生了一些细节。带有
period of rand.c的简单谷歌查询显示在第一页上。糟糕的实现和从保证至少为 32767 的范围内挑选 10^6 个数字并不是我的第一选择。这些 Mersenne-Twister 实现发生了什么?在速度和长时间之间不是一个很好的折衷方案吗?
标签: c++ random std gsl boost-random