Evalúe una serie de Chebyshev en 3-D sobre el producto cartesiano de x, y y z con una array de coeficientes 4d en Python

En este artículo, discutiremos cómo evaluar una serie de Chebyshev 3-D en el producto cartesiano de x, y y z con una array 4d de coeficientes en Python y NumPy .

NumPy.polinomio. método chebyshev.chebgrid3d

Los polinomios de Chebyshev son importantes en la teoría de aproximación porque los Nodes de Chebyshev se utilizan como puntos de coincidencia para optimizar la interpolación de polinomios. 
Para realizar la diferenciación de Chebyshev, NumPy proporciona una función llamada Chebyshev.chebgrid3d que se puede utilizar para evaluar el producto cartesiano de la serie 3D de Chebyshev. Esta función convierte los parámetros x, y y z en array solo si son tuplas o una lista, de lo contrario, se deja sin cambios y, si no es una array, se trata como un escalar.

Sintaxis: polinomio.chebyshev.chebgrid3d(x, y, z, c)

Parámetros:

  • x,y,z: tipo_arreglo
  • c: array de coeficientes

Devoluciones: 

  • Polinomios bidimensionales en puntos como productos cartesianos de x e y.

Ejemplo 1:

En el primer ejemplo. Consideremos un arreglo 4D c de tamaño 32. Consideremos una serie 3D [1,2],[1,2],[1,2] para evaluar contra el arreglo 4D. Importe los paquetes necesarios como se muestra y pase los parámetros apropiados como se muestra a continuación.

Python3

import numpy as np
from numpy.polynomial import chebyshev
  
# co.efficient array
c = np.arange(32).reshape(2, 2, 4, 2)
  
print(f'The co.efficient array is {c}')
print(f'The shape of the array is {c.shape}')
print(f'The dimension of the array is {c.ndim}D')
print(f'The datatype of the array is {c.dtype}')
  
# evaluating 4d co.eff array with a 3d chebyshev series
res = chebyshev.chebgrid3d([1, 2], [1, 2], [1, 2], c)
  
# resultant array
print(f'Resultant series ---> {res}')

Producción:

The co.efficient array is 
[[[[ 0  1]
   [ 2  3]
   [ 4  5]
   [ 6  7]]

  [[ 8  9]
   [10 11]
   [12 13]
   [14 15]]]


 [[[16 17]
   [18 19]
   [20 21]
   [22 23]]

  [[24 25]
   [26 27]
   [28 29]
   [30 31]]]]

The shape of the array is (2, 2, 4, 2)
The dimension of the array is 4D
The datatype of the array is int32

Resultant series ---> [[[[ 240. 2480.]
   [ 392. 4008.]]

  [[ 424. 4296.]
   [ 684. 6876.]]]


 [[[ 256. 2624.]
   [ 416. 4224.]]

  [[ 448. 4512.]
   [ 720. 7200.]]]]

Ejemplo 2:

En el segundo ejemplo. Consideremos un arreglo 4D c de tamaño 64. Consideremos una serie 3D [2,1],[2,1],[2,1] para evaluar contra el arreglo 4D. Importe los paquetes necesarios como se muestra y pase los parámetros apropiados como se muestra a continuación.

Python3

import numpy as np
from numpy.polynomial import chebyshev
  
# co.efficient array
c = np.arange(64).reshape(4, 4, 2, 2)
  
print(f'The co.efficient array is \n{c}\n')
print(f'The shape of the array is \n{c.shape}\n')
print(f'The dimension of the array is \n{c.ndim}D\n')
print(f'The datatype of the array is \n{c.dtype}\n')
  
# evaluating 4d co.eff array with a 3d chebyshev series
res = chebyshev.chebgrid3d([2, 1], [2, 1], [2, 1], c)
  
# resultant array
print(f'Resultant series ---> {res}')

Producción:

La array de coeficientes es 

[[[[ 0 1][ 2 3]] [[ 4 5] [ 6 7]]

  [[ 8 9][10 11]] [[12 13] [14 15]]]

 [[[16 17] [18 19]] [[20 21][22 23]]

  [[24 25] [26 27]] [[28 29] [30 31]]

 [[[32 33] [34 35]] [[36 37][38 39]]

  [[40 41] [42 43]] [[44 45][46 47]]]

 [[[48 49] [50 51]] [[52 53][54 55]]

  [[56 57] [58 59]] [[60 61][62 63]]]]

   

La forma de la array es (4, 4, 2, 2)

La dimensión de la array es 4D.

El tipo de datos de la array es int32

Serie resultante —> [[[[208224. 137952.][ 21216. 14048.]] [[ 15456. 10208.][ 1504. 992.]]]

 [[[212112. 140544.][ 21648. 14336.]] [[ 15888. 10496.] [ 1552. 1024.]]]]

Publicación traducida automáticamente

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