numpy.poly1d () in Python



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

Parameters:
– & gt; 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) = 3x 2 + 2x + 6
poly1d ([1, 2, 3], True) = (x-1) (x-2) (x-3) = x 3 – 6x 2 + 11x -6

– & gt; root: [bool, optional] True means polynomial roots. Default is False.
– & gt; 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: Explanation poly1d () and its argument

# Python code explaining
# numpy.poly1d ()

 
# importing libraries

import numpy as np

 
# Plotting a polynomial

p1 = np.poly1d ([ 1 , 2 ])

p2 = np.poly1d ([ 4 , 9 , 5 , 4 ] )

 

print ( " P1: " , p1)

print ( "p2:" , p2)

 
# Solve for x = 2

print ( "p1 at x = 2:" , p1 ( 2 ))

print ( "p2 at x = 2:" , p2 ( 2 ))

  
# Finding roots

print ( "Roots of P1:" , p1.r)

print ( "Roots of P2:" , p2.r)

 
# Finding coefficients

print ( " Coefficients of P1: " , p1.c)

print ( "Coefficients of P2:" , p2.coeffs)

 
# Order search

print ( "Order / 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 Math polynomial operation

# Python code explaining
# numpy.poly1d ()

 
# importing libraries

import numpy as np

 
# Building a polynomial

p1 = np.poly1d ([ 1 2 ])

p2 = np.poly1d ([ 4 , 9 , 5 , 4 ])

 

print ( " P1: " , p1)

print ( "p2:" , p2)

                     

print ( "p1 ^ 2:" , p1 * * 2 )

print ( "p2 ^ 2:" , np.square (p2))

  

p3 = np .poly1d ([ 1 , 2 ], variable = `y` )

print ( "p3:" , p3)

 

  

print ( " p1 * p2: " , p1 * p2)

print ( "Multiplying two polynimials:"

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