Related Articles
numpy.poly1d() in Python
• Last Updated : 04 Dec, 2020

The numpy.poly1d() function helps to define a polynomial function. It makes it easy to apply “natural operations” on polynomials.

Syntax: numpy.poly1d(arr, root, var)
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.

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

For example: poly1d(3, 2, 6) = 3x2 + 2x + 6
poly1d([1, 2, 3], True) = (x-1)(x-2)(x-3) = x3 – 6x2 + 11x -6

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```

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up