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

Last Updated : 15 Jul, 2025

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       ]       
Comment