Skip to content

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

My Personal Notes arrow_drop_up