Skip to content
Related Articles

Related Articles

How to multiply a polynomial to another using NumPy in Python?
  • Last Updated : 29 Aug, 2020

In this article, we will make a NumPy program to multiply one polynomial to another. Two polynomials are given as input and the result is the multiplication 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 multiply these to get r(x) = p(x) * q(x) as a result of multiplication 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) 

and output is 

( (A1 * B1), (A2 * B1) + (A2 * B1),
(A3 * B1) + (A2 * B2) + (A1 * B3), 
(A2 * B2) + (A3 * B2), (A3 * B3) ).

This can be calculated using the polymul() method of NumPy. This method evaluates the product of two polynomials and returns the polynomial resulting from the multiplication of two input polynomials ‘p1’ and ‘p2’.

Syntax:

numpy.polymul(p1, p2)

Below is the implementation with some examples :

Example 1:



Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)
  
# mul the polynomials
rx = numpy.polynomial.polynomial.polymul(px, qx)
  
# print the resultant polynomial
print(rx)

chevron_right


Output :

[ 10. -29.  30. -29.  10.] 

Example 2 :

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)
  
# mul the polynomials
rx = numpy.polynomial.polynomial.polymul(px, qx)
  
# print the resultant polynomial
print(rx)

chevron_right


Output :

[  0.     0.    21.56   0.     8.8 ]

Example 3 :

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)
  
# mul the polynomials
rx = numpy.polynomial.polynomial.polymul(px, qx)
  
# print the resultant polynomial
print(rx)

chevron_right


Output :

[ 0.         -2.91666667  0.          3.        ]

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 :