Open In App

How to subtract one polynomial to another using NumPy in Python?

Last Updated : 29 Aug, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, let’s discuss how to subtract one polynomial to another. Two polynomials are given as input and the result is the subtraction of two polynomials.

  • 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 q(x) then subtract these to get r(x) = p(x) – q(x) as a result of subtraction of two input polynomials.
If p(x) = A3 x2 + A2 x + A1 
and
q(x) = B3 x2 + B2 x + B1 

then result is 
r(x) = p(x) - q(x) i.e;
r(x) = (A3 - B3) x2 + (A2 - B2) x + (A1 - B1) 

and output is 
( (A1 - B1), (A2 - B2), (A3 - B3) ).

In NumPy, it can be solved using the polysub() method. This function helps to find the difference of two polynomials and then returning the result as a polynomial

Below is the implementation with some examples :

Example 1:  Using  polysub()

Python3




# importing package
import numpy
  
# define the polynomials
# p(x) = 5(x**2) + (-2)x +5
px = (5,-2,5)
  
# q(x) = 2(x**2) + (-5)x +2
qx = (2,-5,2)
  
# subtract the polynomials
rx = numpy.polynomial.polynomial.polysub(px,qx)
  
# print the resultant polynomial
print(rx)


Output :

[ 3.  3.  3.]

Example 2: sub_with_decimals

Python3




# importing package
import numpy
  
# define the polynomials
# p(x) = 2.2
px = (0,0,2.2)
  
# q(x) = 9.8(x**2) + 4
qx = (9.8,0,4)
  
# subtract the polynomials
rx = numpy.polynomial.polynomial.polysub(px,qx)
  
# print the resultant polynomial
print(rx)


Output :

[-9.8  0.  -1.8]

Example 3:  #eval_then_sub

Python3




# importing package
import numpy
  
# define the polynomials
# p(x) = (5/3)x
px = (0,5/3,0)
  
# q(x) = (-7/4)(x**2) + (9/5)
qx = (-7/4,0,9/5)
  
# subtract the polynomials
rx = numpy.polynomial.polynomial.polysub(px,qx)
  
# print the resultant polynomial
print(rx)


Output :

[ 1.75        1.66666667 -1.8       ]       


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads