多项式根使用以下代码确定。根显示为虚数,但实际上是整数。 5 应该没有任何虚值
[5.+1.27882372e-07j 5.-1.27882372e-07j 2.+0.00000000e+00j]
import numpy as np
poly=[1,-10,25] # (x-5)**2
p1 = np.poly1d(poly)
p2 = np.poly1d([1,-2]) # (x-2)
poly2 = p1*p2 # (x-5)**2 * (x-2)
print(poly2.roots)
print(poly2(5))
print(poly2(2))
结果中的小虚部(例如 1.27882372e-07j)是由于 浮点数学错误而发生的。这些几乎只是人工制品,而不是真实的零件。您可以使用
np.isclose
验证这些琐碎的部分是否实际上为零并格式化输出。