2016-08-21 81 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