我在ubuntu 16.04.2 LTS和NumPy 1.12.1中使用python 3.5.2。当我使用poly1d函数获取coeffs,有一个与计算的错误:当他们是非常大的整数时,poly1d会给出错误的系数
>>> from numpy import poly1d
>>> from math import fabs
>>> pol = poly1d([2357888,459987,78123455],True)
>>>[int(x) for x in pol.coeffs]
[1, -80941330, 221226728585581, -84732529566356586496]
如您在此列表中看到的最后一个元素是不正确的。当我建立使用Wolfram Alpha的多项式,我得到:
x^3 - 80941330 x^2 + 221226728585581 x - 84732529566356580480
最后系数不同使用poly1d(第一一端在... 496和480 ...的另一端)。②有假设正确的是最后一次计算(由WolframAlpha制作)。
这是一个错误还是我没有考虑到的东西?我用低绝对值的根探查;在这种情况下计算是正确的。但是当我使用“大根”时,差异是显着的。
是的,这是我的猜测,但我需要确认。 – Alexis