Sympy重新配置随机种子

时间:2016-01-27 07:04:34

标签: python python-3.x random sympy random-seed

在模拟中使用Python符号计算模块“Sympy”非常困难,我需要有可靠的固定输入,因为我在随机模块中使用了seed()。 但是每当我调用一个简单的sympy函数时,它似乎用一个新值覆盖种子,从而每次都获得新的输出。我搜索了一下https://docs.angularjs.org/api/ng/directive/ngOptions# found。但他们都没有解决方案。

考虑以下代码:

from sympy import *
import random
random.seed(1)
for _ in range(2):
    x = symbols('x')
    equ = (x** random.randint(1,5)) ** Rational(random.randint(1,5)/2)
    print(equ)

此输出

(x**2)**(5/2)
x**4

在第一次运行时,

(x**2)**(5/2)
(x**5)**(3/2)

在第二次运行时,每次运行脚本时都会返回新输出。我需要一种解决方法来强制使用seed()。

1 个答案:

答案 0 :(得分:0)

这有帮助吗?来自random上的文档:

“您可以实例化您自己的Random实例,以获取不共享状态的生成器”

用法:

import random
# Create a new pseudo random number generator
prng = random.Random()
prng.seed(1)

此号码生成器不受同情

的影响