在Python中计算多项式的根


要计算多项式的根,可以使用Python Numpy中的`polynomial.polyroots()`方法。该方法返回多项式根的数组。如果所有根都是实数,则输出也是实数,否则是复数。参数c是一个包含多项式系数的一维数组。

根的估计值是通过伴随矩阵的特征值获得的。远离复平面原点的根由于此类值的幂级数的数值不稳定性,可能存在较大的误差。具有大于1的重数的根也显示出较大的误差,因为这些点附近的级数的值对根的误差相对不敏感。可以通过几次牛顿法迭代来改进靠近原点的孤立根。

步骤

首先,导入所需的库:

from numpy.polynomial import polynomial as P

要计算多项式的根,可以使用Python Numpy中的`polynomial.polyroots()`方法:

print("Result (roots of a polynomial)...\n",P.polyroots((-1,0,1)))

获取数据类型:

print("\nType...\n",P.polyroots((-1,0,1)).dtype)

获取形状:

print("\nShape...\n",P.polyroots((-1,0,1)).shape)

示例

from numpy.polynomial import polynomial as P

# To compute the roots of a polynomials, use the polynomial.polyroots() method in Python Numpy.
# The method returns an array of the roots of the polynomial. If all the roots are real, then out is also real, otherwise it is complex.

# The parameter, c is a 1-D array of polynomial coefficients.
print("Result (roots of a polynomial)...\n",P.polyroots((-1,0,1)))

# Get the datatype
print("\nType...\n",P.polyroots((-1,0,1)).dtype)

# Get the shape
print("\nShape...\n",P.polyroots((-1,0,1)).shape)

输出

Result (roots of a polynomial)...
[-1. 1.]

Type...
float64

Shape...
(2,)

更新于:2022年3月8日

3K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告