Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当多项式只有<;时,numpy.root()是否会返回n个不同的浮点值;n唯一(精确)根?_Numpy_Scipy - Fatal编程技术网

当多项式只有<;时,numpy.root()是否会返回n个不同的浮点值;n唯一(精确)根?

当多项式只有<;时,numpy.root()是否会返回n个不同的浮点值;n唯一(精确)根?,numpy,scipy,Numpy,Scipy,我想标题说明了一切,但具体来说,我有一些名为“系数”的数字列表。假设具有所述系数的多项式正好有k个唯一根,下面的代码是否会将唯一根的数量设为大于k的数字 import numpy as np number_of_unique_roots = len(set(np.roots(coeffs))) 对 更精确地说,具有k次方根的多项式f(x)+eps·g(x)的扰动f(x)通常具有唯一的根,并且k次方根分离成一个几乎对称的星,k个顶点围绕原始k次方根,其距离与eps^(1/k)成比例 多项式的数值

我想标题说明了一切,但具体来说,我有一些名为“系数”的数字列表。假设具有所述系数的多项式正好有k个唯一根,下面的代码是否会将唯一根的数量设为大于k的数字

import numpy as np
number_of_unique_roots = len(set(np.roots(coeffs)))


更精确地说,具有k次方根的多项式
f(x)+eps·g(x)
的扰动
f(x)
通常具有唯一的根,并且k次方根分离成一个几乎对称的星,k个顶点围绕原始k次方根,其距离与
eps^(1/k)
成比例

多项式的数值计算(64位的双倍)带有抵消误差,尤其是接近根的误差。这可以解释为eps=1e-16的扰动。因此,如同在其他答案中一样,双根分裂成两个根,距离的大小为:代码>1E-8/CODE>原始根在中间。4倍的根会形成正方形或菱形,大小为
~1e-4

>>> len(set(numpy.roots([1, 6, 9])))
2
>>> numpy.roots([1, 6, 9])
array([-3. +3.72529030e-08j, -3. -3.72529030e-08j])