En este artículo, veremos el enfoque para generar una array de Vandermonde del polinomio de Legendre con una array flotante de puntos en Python usando NumPy.
Example: Array: [-1.57 0.58 -3.57 1.44 2.75] Result: [[ 1.000000e+00 -1.570000e+00 3.197350e+00] [ 1.000000e+00 5.800000e-01 4.600000e-03] [ 1.000000e+00 -3.570000e+00 1.861735e+01] [ 1.000000e+00 1.440000e+00 2.610400e+00] [ 1.000000e+00 2.750000e+00 1.084375e+01]]
NumPy.legvander()
Para generar una pseudo array de Vandermonde del polinomio de Legendre con una array flotante de puntos, el usuario debe llamar al método NumPy.legvander() en Python Numpy. Esto devolverá la array pseudo-Vandermonde con 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. Si x es escalar, se convierte en una array 1-D.
- 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.57,0.58, -3.57, 1.44, 2.75]) # 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, 2) print("\nResult:\n",gfg_data)
Producción:
Array: [-1.57 0.58 -3.57 1.44 2.75] Dimensions: 1 Result: [[ 1.000000e+00 -1.570000e+00 3.197350e+00] [ 1.000000e+00 5.800000e-01 4.600000e-03] [ 1.000000e+00 -3.570000e+00 1.861735e+01] [ 1.000000e+00 1.440000e+00 2.610400e+00] [ 1.000000e+00 2.750000e+00 1.084375e+01]]
Ejemplo:
En este ejemplo, primero estamos creando una array con diez 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 5 grados en Python.
Python3
import numpy as np from numpy.polynomial import legendre gfg_data = np.array([-1.57,0.58, -3.57, 1.44, 2.75, -8.97,7.45,-0.56,-4.74,3.33]) # 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,57 0,58 -3,57 1,44 2,75 -8,97 7,45 -0,56 -4,74 3,33]
Dimensiones:
1
Resultado:
[[ 1.00000000e+00 -1.57000000e+00 3.19735000e+00 -7.31973250e+00
1.77129525e+01 -4.42010179e+01]
[ 1.00000000e+00 5.80000000e-01 4.60000000e-03 -3.82220000e-01
-3.91403300e-01 -1.02849045e-01]
[ 1.00000000e+00 -3.57000000e+00 1.86173500e+01 -1.08393232e+02
6.63223708e+02 -4.17516096e+03]
[ 1.00000000e+00 1.44000000e+00 2.61040000e+00 5.30496000e+00
1.14106992e+01 2.53325643e+01]
[ 1.00000000e+00 2.75000000e+00 1.08437500e+01 4.78671875e+01
2.22228027e+02 1.06173499e+03]
[ 1.00000000e+00 -8.97000000e+00 1.20191350e+02 -1.79088068e+03
2.80222060e+04 -4.51013834e+05]
[ 1.00000000e+00 7.45000000e+00 8.27537500e+01 1.02255906e+03
1.32695485e+04 1.77126598e+05]
[ 1.00000000e+00 -5.60000000e-01 -2.96000000e-02 4.00960000e-01
-3.70740800e-01 5.29387264e-02]
[ 1.00000000e+00 -4.74000000e+00 3.32014000e+01 -2.59131060e+02
2.12459109e+03 -1.79197064e+04]
[ 1.00000000e+00 3.33000000e+00 1.61333500e+01 8.73200925e+01
4.96757827e+02 2.90771034e+03]]
Publicación traducida automáticamente
Artículo escrito por geetansh044 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA