Skip to content
Related Articles

Related Articles

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

Improve Article
Save Article
  • Last Updated : 29 Aug, 2020
Improve Article
Save Article

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       ]       

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!