2016-08-21 48 views
-3

如何创建函数multiply(p1,p2)相乘形式[(1,1),(-1,0)],[(1,2),(1,1),(1,0)]即的两个多项式,(x - 1) * (x^2 + x + 1)产生结果[(1, 3),(-1, 0)]即,x^3 - 1涉及词典和不调用标准库函数。我已经编码添加了两个多项式,但这个似乎是一项繁琐的任务乘以多项式

+2

我建议你看一看[sympy](http://www.sympy.org/en/index.html) – BPL

+0

寻求调试帮助的问题(**“为什么这个代码不工作?” **)必须包含所需的行为,*特定的问题或错误*和*最短的代码*在问题本身**中重现**。没有**明确问题陈述**的问题对其他读者没有用处。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 – MattDMo

回答

0

多项式乘法是两个序列的离散卷积。您可以使用numpy中的convolve或打开教科书并实施公式(也可在convolve文档中用inf来代替两个多项式的最大度数)。

0

这似乎很乏味吗?

我会建议先看看数学中的一些,然后逐个添加每一项,或许使用以前的附加代码将它们相加。

因此,对于第一个多项式中的每个项,将它乘以第二个多项式中的每个项,并将它们全部加起来。

将一个这样的项乘以另一个项(如(a,b),(c,d))将使系数相乘,并且指数相加(给出(a*c,b+d))。 如示例中一样,术语-1*x^2 = -x^2x*x^2 = x^3