Genere una array de Vandermonde de la serie Legendre en Python usando NumPy

En este artículo, analizaremos el enfoque para generar una array de Vandermonde de la serie Legendre en Python usando NumPy.

Example:
Array:
 [-1  2 -3  4 -5]
Result:
 [[ 1.  -1.   1. ]
 [ 1.   2.   5.5]
 [ 1.  -3.  13. ]
 [ 1.   4.  23.5]
 [ 1.  -5.  37. ]]

NumPy.legvander()

Para generar una pseudo array de Vandermonde del polinomio de Legendre con una array, el usuario debe llamar al método NumPy.legvander() en Python Numpy. Esto devolverá la array pseudo-Vandermonde, la forma de la array devuelta es x.shape + (deg + 1,), donde El último índice es el grado del polinomio de Legendre correspondiente.

   Sintaxis : np.legvander(x, grado)

  Parámetros:

  • x :[ array_like ] Array de puntos. El dtype se convierte en float64 o complex128 dependiendo de si alguno de los elementos es complejo.
  • deg :[int] Grado de la array resultante.

 Retorno: Retorna la array que tiene tamaño, es decir array.tamaño + (grado + 1).

Ejemplo:

En este ejemplo, primero estamos creando una array con cinco puntos de datos del tipo de datos flotantes y, además, con el método NumPy.legvander(), estamos generando una array de Vandermonde del polinomio de Legendre con 2 grados en Python.

Python3

import numpy as np
from numpy.polynomial import legendre
 
gfg_data = np.array([-1,2,-3,4,-5])
 
# Display Elements of Array
print("Array:\n",gfg_data)
 
# Display Dimensions of Array
print("\nDimensions:\n",gfg_data.ndim)
 
# To generate a pseudo Vandermonde
# matrix of the Legendre polynomial
gfg=legendre.legvander(gfg_data, 2)
print("\nResult:\n",gfg_data)

Producción:

Array:
 [-1  2 -3  4 -5]

Dimensions:
 1

Result:
 [[ 1.  -1.   1. ]
 [ 1.   2.   5.5]
 [ 1.  -3.  13. ]
 [ 1.   4.  23.5]
 [ 1.  -5.  37. ]]

Ejemplo:

En este ejemplo, en primer lugar estamos creando una array con diez puntos de datos del tipo de datos flotante y, además, con el método NumPy.legvander(), estamos generando una array de Vandermonde del polinomio de Legendre con 5 grados en Python.

Python3

import numpy as np
from numpy.polynomial import legendre
 
gfg_data = np.array([-1, 2, -3, 4, -5, 6, -7, 8, -9, 10])
 
# Display Elements of Array
print("Array:\n", gfg_data)
 
# Display Dimensions of Array
print("\nDimensions:\n", gfg_data.ndim)
 
# To generate a pseudo Vandermonde
# matrix of the Legendre polynomial
gfg_data = legendre.legvander(gfg_data, 5)
print("\nResult:\n", gfg_data)

Producción:

Formación:

 [-1 2 -3 4 -5 6 -7 8 -9 10]

Dimensiones:

 1

Resultado:

 [[ 1.0000000e+00 -1.0000000e+00 1.0000000e+00 -1.0000000e+00

   1.0000000e+00 -1.0000000e+00]

 [ 1.0000000e+00 2.0000000e+00 5.5000000e+00 1.7000000e+01

   5.5375000e+01 1.8575000e+02]

 [ 1.0000000e+00 -3.0000000e+00 1.3000000e+01 -6.3000000e+01

   3.2100000e+02 -1.6830000e+03]

 [ 1.0000000e+00 4.0000000e+00 2.3500000e+01 1.5400000e+02

   1.0603750e+03 7.5115000e+03]

 [ 1.0000000e+00 -5.0000000e+00 3.7000000e+01 -3.0500000e+02

   2.6410000e+03 -2.3525000e+04]

 [ 1.0000000e+00 6.0000000e+00 5.3500000e+01 5.3100000e+02

   5.5353750e+03 5.9357250e+04]

 [ 1.0000000e+00 -7.0000000e+00 7.3000000e+01 -8.4700000e+02

   1.0321000e+04 -1.2936700e+05]

 [ 1.0000000e+00 8.0000000e+00 9.5500000e+01 1.2680000e+03

   1.7680375e+04 2.5358300e+05]

 [ 1.0000000e+00 -9.0000000e+00 1.2100000e+02 -1.8090000e+03

   2.8401000e+04 -4.5864900e+05]

 [ 1.0000000e+00 1.0000000e+01 1.4950000e+02 2.4850000e+03

   4.3375375e+04 7.7876875e+05]]

Publicación traducida automáticamente

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