Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多项式系数表_Python_List_Sympy_Polynomials - Fatal编程技术网

Python 多项式系数表

Python 多项式系数表,python,list,sympy,polynomials,Python,List,Sympy,Polynomials,如何从symphy中的系数列表中创建多项式 例如,给定一个列表[1,-2,1]我想得到多边形(x**2-2*x+1)。我试图查看,但找不到任何靠近它的东西。在我看来,您可能会执行以下操作: 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,您可能不需要在

如何从symphy中的系数列表中创建多项式


例如,给定一个列表
[1,-2,1]
我想得到
多边形(x**2-2*x+1)
。我试图查看,但找不到任何靠近它的东西。

在我看来,您可能会执行以下操作:

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
,您可能不需要在上面的
中反转

您可以使用来构造多项式:

>>> 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):


不幸的是,您的示例列表被镜像了——这使得很难区分哪个元素是
x**0
的系数,哪个元素是
x**2
@mgilson的系数。这无关紧要:按照适合您的顺序进行排序。我想说的是,如果我需要的话,我可以很容易地做
[::-1
。我找到的唯一相关文档只提到了_list()作为一个类方法,然后必须单击源链接以确定所讨论的类是Poly,但仍然没有找到该类方法或其他Poly类方法的示例。是否有更好的symphy.polys.polytools.Poly方法文档?@TrisNefzger-很遗憾,我查看了一下,但没有找到该方法的任何其他文档。I guess由于SymPy仍然是一个相对年轻的项目,文档仍有一些工作要做。。。
>>> from sympy import Symbol, Poly
>>> x = Symbol('x')
>>> Poly([1,2,3], x)
Poly(x**2 + 2*x + 3, x, domain='ZZ')