我已经使用Python3的random.random()进行了蒙特卡洛模拟,我想通过使用different PRNG来交叉判断结果,但仍然使用Python. 这可以做到吗?

显然(?)random.getrandbits(k)使用Wichmann-Hill而不是MersenneTwister,但这会返回具有指定位数的整除.这可以以某种方式进行调整吗?

此外,我正在使用pypy解释器,因为它有大约10倍的速度优势(但它无法导入numpy).

推荐答案

请注意,Twister用于CPython random中的所有内容,包括getrandbits().

您可以通过使用random.SystemRandom类的方法来获得完全不同的随机数.例如

>>> import random
>>> mygen = random.SystemRandom()
>>> mygen.random()
0.06723509434525832
>>> mygen.randrange(-20, 40)
23

这使用您平台的urandom()来获取比特,这在大多数平台上是"加密安全的".速度较慢,cannot被" seeder "(结果不可重复).

Python相关问答推荐

如何从同一类的多个元素中抓取数据?

带有计数值的Pandas数据帧

按日期和组增量计算总价值

获取Azure Pipelines以从pyproject.toml(而不是relevments_dev.文本)安装测试环境

如何在Python中按组应用简单的线性回归?

有什么方法可以避免使用许多if陈述

用gekko解决的ADE方程系统突然不再工作,错误消息异常:@错误:模型文件未找到.& &

GL pygame无法让缓冲区与vertextPointer和colorPointer一起可靠地工作

如何使用Google Gemini API为单个提示生成多个响应?

Pythind 11无法弄清楚如何访问tuple元素

try 与gemini-pro进行多轮聊天时出错

我从带有langchain的mongoDB中的vector serch获得一个空数组

为什么符号没有按顺序添加?

如何制作10,000年及以后的日期时间对象?

如何让这个星型模式在Python中只使用一个for循环?

提取相关行的最快方法—pandas

在单个对象中解析多个Python数据帧

如何使用Pandas DataFrame按日期和项目汇总计数作为列标题

在嵌套span下的span中擦除信息

python中csv. Dictreader. fieldname的类型是什么?'