numpy.poly1d() in Python (original) (raw)
Last Updated : 09 Aug, 2022
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
Python3
import
numpy as np
p1
=
np.poly1d([
1
,
2
])
p2
=
np.poly1d([
4
,
9
,
5
,
4
])
print
("P1 : ", p1)
print
("\n p2 : \n", p2)
print
("\n\np1 at x
=
2
: ", p1(
2
))
print
("p2 at x
=
2
: ", p2(
2
))
print
("\n\nRoots of P1 : ", p1.r)
print
("Roots of P2 : ", p2.r)
print
("\n\nCoefficients of P1 : ", p1.c)
print
("Coefficients of P2 : ", p2.coeffs)
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
Python3
import
numpy as np
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 polynomials : 2 1 x - 3 x + 2