w3resource

NumPy: Find the roots of the given polynomials


Write a NumPy program to find the roots of the following polynomials.
a) x2 − 4x + 7.
b) x4 − 11x3 + 9x2 + 11x – 10

Sample Solution:

Python Code:

# Importing the NumPy library
import numpy as np

# Computing the roots of the first polynomial [1, -2, 1]
print("Roots of the first polynomial:")
print(np.roots([1, -2, 1]))

# Computing the roots of the second polynomial [1, -12, 10, 7, -10]
print("Roots of the second polynomial:")
print(np.roots([1, -12, 10, 7, -10])) 

Sample Output:

Roots of the first polynomial:                                         
[ 1.  1.]                                                              
Roots of the second polynomial:                                        
[ 11.04461946+0.j         -0.87114210+0.j          0.91326132+0.4531004
j                                                                      
   0.91326132-0.4531004j]

Explanation:

In the above code –

np.roots([1, -2, 1]) - Here, we have an input array [1, -2, 1], which corresponds to the polynomial x^2 - 2x + 1. The output of np.roots() will be the roots of this polynomial.

np.roots([1, -12, 10, 7, -10]) – Here, we have an input array [1, -12, 10, 7, -10], which corresponds to the polynomial x^4 - 12x^3 + 10x^2 + 7x - 10. The output of np.roots() will be the roots of this polynomial.

Python-Numpy Code Editor: