gpt4 book ai didi

sympy - 获取 sympy.factor 中的因子列表

转载 作者:行者123 更新时间:2023-12-05 03:10:22 24 4
gpt4 key购买 nike

我正在实现一个算法,在其中我需要得到一个多项式 f(x) = p(x)q(x) 的因子,其中 p 和 q 互为质数。当然,我可以使用 sympy.factor,但我想构建一个函数,它可能会在 sympy.factor 结果中返回一个因子列表。

例如,

x = sympy.Symbol('x')
y = sympy.Symbol('y')
g = sympy.Poly(y**4 + x*y**3 + y**2 + x*y, y)
sympy.factor(g)

抛出

y*(x + y)*(y**2 + 1)

所以也许我可以构建一个解析器来解释字符串并将其划分在呈现列表 [y, x+y, y * * 2 + 1] 的括号之间,但我想知道:是否存在更简单的方法?

最佳答案

您正在寻找 factor_list,它返回一个结构化的因子列表。不幸的是,看起来有一个 bug在 Python 3 中使用这个特定的 polynomail。在 Python 2 中,我得到

In [1]: factor_list(y**4 + x*y**3 + y**2 + x*y, y)
Out[1]:
⎛ ⎡ ⎛ 2 ⎞⎤⎞
⎝1, ⎣(y, 1), (x + y, 1), ⎝y + 1, 1⎠⎦⎠

第一个元素是常数系数。第二个是 (factor, power) 对列表(最终表达式等于 constant * factor**power * ... * factor**power)。

关于sympy - 获取 sympy.factor 中的因子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40248557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com