Genere una array Pseudo Vandermonde del polinomio Hermite_e usando NumPy en Python

En este artículo, generaremos una array Pseudo Vandermonde del polinomio Hermite_e usando NumPy en Python .

Ejemplo 1: 

Generando una array Pseudo Vandermonde usando la función hermite_e.hermevander()

Usamos la función hermite_e.hermevander() en el módulo Numpy de python para construir una array de Vandermonde del polinomio Hermite_e. Esta técnica devuelve la array pseudo-Vandermonde. La array devuelta tiene la estructura x.shape + (deg + 1), donde el grado del polinomio Hermite e asociado es el último índice. Además, el tipo de d será similar a la x convertida.

Sintaxis: polinomio.hermite_e.hermevander(Arr, grado)

Parámetro:

  • Arr = Es una array de puntos. 
  • deg = Es el grado de la array de salida.

Retorno: La array pseudo-Vandermonde.

Python3

# import numpy and hermite_e libraries
import numpy as np
from numpy.polynomial import hermite_e
  
# Create an one dimensional array 'Arr'
Arr = np.array([2, 5, -3, 4])
  
# To generate a Vandermonde matrix of the
# Hermite_e polynomial, 
# use the hermite_e.hermevander() method
print(hermite_e.hermevander(Arr, 2))

Producción :

[[ 1.  2.  3.]
 [ 1.  5. 24.]
 [ 1. -3.  8.]
 [ 1.  4. 15.]]

Ejemplo 2: 

Generando una array Pseudo Vandermonde usando la función hermite_e.hermevander2d()

Usamos la función hermite_e.hermevander2d() presente en el módulo NumPy de python para construir una pseudo array de Vandermonde del polinomio Hermite_e. Esta técnica devuelve la array pseudo-Vandermonde. Los parámetros x e y son un conjunto de coordenadas de puntos con la misma forma. Dependiendo de si alguno de los elementos es complejo, los dtypes se cambiarán a float64 o complex128. También aquí los escalares se convierten en una array unidimensional. El parámetro ‘grado’ es una lista de grados máximos en el formato [x grado, y grado].

Sintaxis: numpy.polynomial.hermite_e.hermevander2d(x, y, deg).

Parámetro:

  • x,y = Estas son arrays de coordenadas de puntos de la misma forma. 
  • deg = Es una lista de grados máximos de la forma [x_deg, y_deg].

Retorno: una array bidimensional.

Python3

# import numpy and hermite_e libraries
import numpy as np
from numpy.polynomial import hermite_e as H
  
# Now create arrays of point coordinates x and y
x = [5, 2]
y = [3, 4]
  
# Define the degrees of x and y
deg_of_x = 2
deg_of_y = 3
  
# To generate a pseudo Vandermonde matrix of 
# the Hermite_e polynomial, 
# use the hermite_e.hermevander2d() method
print(H.hermevander2d(x,y, [deg_of_x, deg_of_y]))

Producción :

[[ 1. 3. 8. 18. 5. 15. 40. 90. 24. 72. 192. 432.]

 [ 1. 4. 15. 52. 2. 8. 30. 104. 3. 12. 45. 156.]]

Ejemplo 3: 

Generando una array Pseudo Vandermonde usando la función hermite_e.hermevander3d()

Para generar una array de Vandermonde del polinomio Hermite_e en las coordenadas de los puntos x, y y z, usamos la función hermite_e.hermevander3d() presente en el módulo NumPy de python. Esta técnica devuelve la array pseudo-Vandermonde. x, y y z son arrays de coordenadas de puntos con la misma forma. 

Python3

# import numpy and hermite_e libraries
import numpy as np
from numpy.polynomial import hermite_e 
  
# Now create arrays of point coordinates
# x, y and z
x = np.array([3, 1])
y = np.array([2, 3])
z = np.array([4, 7])
  
# assign the degree to x, y and z
deg_of_x = 3
deg_of_y = 2
deg_of_z = 1
  
# use the hermite.hermevander3d() function
# to generate a pseudo Vandermonde
# matrix of the Hermite_e polynomial 
# and x, y, z as the sample points
print(hermite_e.hermevander3d(x, y, z, [deg_of_x, deg_of_y, deg_of_z]))

Producción :

[[ 1. 4. 2. 8. 3. 12. 3. 12. 6. 24. 9. 36.

     8. 32. 16. 64. 24. 96. 18. 72. 36. 144. 54. 216.]

 [ 1. 7. 3. 21. 8. 56. 1. 7. 3. 21. 8. 56.

     0. 0. 0. 0. 0. 0. -2. -14. -6. -42. -dieciséis. -112.]]

Publicación traducida automáticamente

Artículo escrito por siddheshsagar 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 *