# 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 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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :

Be the First to upvote.

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