¿Cómo multiplicar un polinomio a otro usando NumPy en Python?

En este artículo, haremos un programa NumPy para multiplicar un polinomio por otro. Se dan dos polinomios como entrada y el resultado es la multiplicación de dos polinomios.

  • El polinomio p(x) = C3 x2 + C2 x + C1  se representa en NumPy como: ( C1, C2, C3 ) { los coeficientes (constantes)}.
  • Tomemos dos polinomios p(x) y q(x) y luego multiplíquelos para obtener r(x) = p(x) * q(x) como resultado de la multiplicación de dos polinomios de entrada.
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) ).

Esto se puede calcular usando el método polymul() de NumPy. Este

numpy.polymul(p1, p2)

A continuación se muestra la implementación con algunos ejemplos:

Ejemplo 1:

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

Producción :

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

Ejemplo 2:

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

Producción :

[  0.     0.    21.56   0.     8.8 ]

Ejemplo 3:

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

Producción :

[ 0.         -2.91666667  0.          3.        ]

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *