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