如何在SymPy中使用系数列表创建多项式?
例如,给定列表[1, -2, 1]
,我想得到Poly(x**2 - 2*x + 1)
。我尝试查看文档,但没有找到类似的内容。
Poly.from_list
来构建多项式:>>> x = sympy.Symbol('x')
>>> sympy.Poly.from_list([1, -2, 1], gens=x)
Poly(x**2 - 2*x + 1, x, domain='ZZ')
>>> from sympy import Symbol, Poly
>>> x = Symbol('x')
>>> Poly([1,2,3], x)
Poly(x**2 + 2*x + 3, x, domain='ZZ')
我认为你可以这样做:
from sympy.abc import x
from sympy import poly
lst = [1, -2, 1]
poly(sum(coef*x**i for i, coef in enumerate(reversed(lst))))
reversed
, 具体取决于哪个系数映射到x**0
。
x ** 0
的系数,哪个是x ** 2
的系数。 - mgilson[::-1]
。 - Ecir Hana