我在Python中用Fortran扩展(用f2py编译)编写了一个蒙特卡罗(MC)代码。由于它是一个随机积分,该算法在很大程度上依赖于随机数,即我使用~ 10^8 - 10^9
随机数进行典型运行。到目前为止,我并没有真正关注质量'随机数字 - 然而,这是我想要检查的东西。
我的问题是:numpy使用的Mersenne-Twister是否足够或者是否有更好的随机数生成器可以(可以)使用? (在运行时和生成序列的质量方面更好)
非常欢迎任何建议/经验,谢谢!
答案 0 :(得分:2)
我不认为任何人都可以告诉你这个算法是否足够,而不知道如何使用随机数。
我要做的是用其他东西替换numpy随机数,当然有已有的其他模块提供不同的算法。 如果您的模拟结果不受随机数发生器选择的影响,那么它已经是一个好兆头。