多项式的系数列表
List of coefficients to polynomial
如何从 SymPy 中的系数列表创建多项式?
例如,给定一个列表 [1, -2, 1]
我想得到 Poly(x**2 - 2*x + 1)
。我试着查看 docs 但找不到与之相近的任何内容。
在我看来你会做这样的事情:
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))))
当然,你不依赖哪个系数映射到x**0
,你可能不需要上面的reversed
。
您可以使用 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')
这个更简单的替代方案对我有用(Sympy 0.7.6.1):
>>> from sympy import Symbol, Poly
>>> x = Symbol('x')
>>> Poly([1,2,3], x)
Poly(x**2 + 2*x + 3, x, domain='ZZ')
如何从 SymPy 中的系数列表创建多项式?
例如,给定一个列表 [1, -2, 1]
我想得到 Poly(x**2 - 2*x + 1)
。我试着查看 docs 但找不到与之相近的任何内容。
在我看来你会做这样的事情:
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))))
当然,你不依赖哪个系数映射到x**0
,你可能不需要上面的reversed
。
您可以使用 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')
这个更简单的替代方案对我有用(Sympy 0.7.6.1):
>>> from sympy import Symbol, Poly
>>> x = Symbol('x')
>>> Poly([1,2,3], x)
Poly(x**2 + 2*x + 3, x, domain='ZZ')