Skip to content
Related Articles

Related Articles

How to divide a polynomial to another using NumPy in Python?
  • Last Updated : 29 Aug, 2020
GeeksforGeeks - Summer Carnival Banner

In this article, we will make a NumPy program to divide one polynomial to another. Two polynomials are given as input and the result is the quotient and remainder of the division.

  • The polynomial p(x) = C3 x2 + C2 x + C1  is represented in NumPy as : ( C1, C2, C3 ) { the coefficients (constants)}.
  • Let take two polynomials p(x) and g(x) then divide these to get quotient q(x) = p(x) // g(x) and  remainder r(x) = p(x) % g(x) as a result.
If p(x) = A3 x2 + A2 x + A1
and 
g(x) = B3 x2 + B2 x + B1 

then result is 
q(x) = p(x) // g(x) and r(x) = p(x) % g(x)

and the output is coefficientes of remainder and
 the coefficientes of quotient.

This can be calculated using the polydiv() method. This method evaluates the division of two polynomials and returns the quotient and remainder of the polynomial division.

Syntax:

numpy.polydiv(p1, p2)

Below is the implementation with some examples :

Example 1 :  



Python3




# importing package
import numpy
  
# define the polynomials
# p(x) = 5(x**2) + (-2)x +5
px = (5, -2, 5)
  
# g(x) = x +2
gx = (2, 1, 0)
  
# divide the polynomials
qx, rx = numpy.polynomial.polynomial.polydiv(px, gx)
  
# print the result
# quotiient
print(qx)
  
# remainder
print(rx)

Output :

[-12.   5.]
[ 29.]

Example 2 : 

Python3




# importing package
import numpy
  
# define the polynomials
# p(x) = (x**2) + 3x + 2
px = (1,3,2)
  
# g(x) = x + 1
gx = (1,1,0)
  
# divide the polynomials
qx,rx = numpy.polynomial.polynomial.polydiv(px,gx)
  
# print the result
# quotiient
print(qx)
  
# remainder
print(rx)

Output :

[ 1.  2.]
[ 0.]

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
Recommended Articles
Page :