Open In App
Related Articles

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

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
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       ]       


Last Updated : 29 Aug, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads