两个多项式的最大公约数简化多项式

2024-05-08 01:45:00 发布

您现在位置:Python中文网/ 问答频道 /正文

此函数用于确定两个多项式的最大公约数。我的问题是:

在第9行中,如果数组中的所有条目都相同,我想从多项式g中排除一个因子,例如:

(4/9)*x**2 + (4/9)*x + (4/9)
--> (4/9)*(x**2 + x + 1).

我写了函数checkIfEntriesAreIdentical。此函数返回False,尽管数组条目明显相同。函数在此数组上具体失败:

array([ 0.44444444, 0.44444444, 0.44444444])

为什么函数返回False
这两种功能如下:

import numpy as np

def gcdPoly(f, g):

while remainderIsLeft(np.polydiv(f, g)):
    temporary = f
    f = g
    g = np.polydiv(temporary, g)[1][:]
    if entriesAreIdentical(g):
        g = simplifyFunction(g)

return g

以及

^{pr2}$

Tags: 函数import功能numpyfalseasnp条目