numpy.poly1d() in Python

numpy.poly1d(arr, root, var): This function helps to define a polynomial function. It makes it easy to apply “natural operations” on polynomials.

Parameters :
-> arr : [array_like] The polynomial coefficients are given in decreasing order of powers. If the second parameter (root) is set to True then array values are the roots of the polynomial equation.
For example- poly1d(3, 2, 6) = 3x2 + 2x + 6
poly1d([1, 2, 3], True) = (x-1)(x-2)(x-3) = x3 – 6x2 + 11x -6

-> root : [bool, optional] True means polynomial roots. Default is False.
-> var : variable like x, y, z that we need in polynomial [default is x].

Arguments :
c : Polynomial coefficient.
coef : Polynomial coefficient.
coefficients : Polynomial coefficient.
order : Order or degree of polynomial.
o : Order or degree of polynomial.
r : Polynomial root.
roots : Polynomial root.

Return: Polynomial and the operation applied



Code 1 : Explaining poly1d() and its argument

# Python code explaining
# numpy.poly1d()
  
# importing libraries
import numpy as np
  
# Constructing polynomial
p1 = np.poly1d([1, 2])
p2 = np.poly1d([4, 9, 5, 4])
  
print ("P1 : ", p1)
print ("\n p2 : \n", p2)
  
# Solve for x = 2
print ("\n\np1 at x = 2 : ", p1(2))
print ("p2 at x = 2 : ", p2(2))
  
# Finding Roots
print ("\n\nRoots of P1 : ", p1.r)
print ("Roots of P2 : ", p2.r)
  
# Finding Coefficients
print ("\n\nCoefficients of P1 : ", p1.c)
print ("Coefficients of P2 : ", p2.coeffs)
  
# Finding Order
print ("\n\nOrder / Degree of P1 : ", p1.o)
print ("Order / Degree of P2 : ", p2.order)

Output :

P1 :   
1 x + 2

 p2 : 
    3     2
4 x + 9 x + 5 x + 4


p1 at x = 2 :  4
p2 at x = 2 :  82


Roots of P1 :  [-2.]
Roots of P2 :  [-1.86738371+0.j         -0.19130814+0.70633545j -0.19130814-0.70633545j]


Coefficients of P1 :  [1 2]
Coefficients of P2 :  [4 9 5 4]


Order / Degree of P1 :  1
Order / Degree of P2 :  3

 
Code 2 : Basic mathematical operation on polynomial

# Python code explaining
# numpy.poly1d()
  
# importing libraries
import numpy as np
  
# Constructing polynomial
p1 = np.poly1d([1, 2])
p2 = np.poly1d([4, 9, 5, 4])
  
print ("P1 : ", p1)
print ("\n p2 : \n", p2)
  
print ("\n\np1 ^ 2 : \n", p1**2)
print ("p2 ^ 2 : \n", np.square(p2))
  
p3 = np.poly1d([1, 2], variable = 'y')
print ("\n\np3 : ", p3)
  
  
print ("\n\np1 * p2 : \n", p1 * p2)
print ("\nMultiplying two polynimials : \n"
       np.poly1d([1, -1]) * np.poly1d([1, -2]))

Output :

P1 :   
1 x + 2

 p2 : 
    3     2
4 x + 9 x + 5 x + 4


p1 ^ 2 : 
    2
1 x + 4 x + 4
p2 ^ 2 : 
 [16 81 25 16]


p3 :   
1 y + 2


p1 * p2 : 
    4      3      2
4 x + 17 x + 23 x + 14 x + 8

Multiplying two polynimials : 
    2
1 x - 3 x + 2


My Personal Notes arrow_drop_up

Aspire to Inspire before I expire

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Article Tags :

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.

Recommended Posts:



0 Average Difficulty : 0/5.0
No votes yet.






User Actions