在Python中使用NumPy生成Hermite_e多项式的伪Vandermonde矩阵

在Python中使用NumPy生成Hermite_e多项式的伪Vandermonde矩阵

在这篇文章中,我们将使用Python中的NumPy生成Hermite_e多项式的Pseudo Vandermonde矩阵。

示例 1:

使用hermite_e.hermevander()函数生成一个伪范德蒙德矩阵

我们使用python的Numpy模块中的hermite_e.hermevander()函数来构造Hermite_e多项式的Vandermonde矩阵。伪范德蒙矩阵由该技术返回。返回的矩阵具有x.shape + (deg + 1)的结构,其中相关的Hermite e多项式的度数是最后的索引。同时,dtype将与转换后的x相似。

语法: polynomial.hermite_e.hermevander(Arr, deg)

参数:

  • Arr = 它是一个点的阵列。
  • deg = 它是输出矩阵的度数。

返回: 伪范德蒙矩阵。

# 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))

输出 :

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

示例 2:

使用hermite_e.hermevander2d()函数生成一个伪范德蒙德矩阵

我们使用python的NumPy模块中的hermite_e.hermevander2d()函数来构建Hermite_e多项式的伪范德蒙矩阵。伪范德蒙德矩阵由该技术返回。x和y参数是一组具有相同形式的点坐标。根据是否有任何元素是复数,dtypes将被改变为float64或compound128。另外这里的标量也被转换成一维数组。deg “参数是一个格式为[x deg, y deg]的最大度数的列表。

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

参数:

x,y = 这些是同形的点坐标数组。
deg = 它是一个形式为[x_deg, y_deg]的最大度数的列表。

返回:一个二维数组。

# 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]))

输出 :

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

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

示例 3:

使用hermite_e.hermevander3d()函数生成一个伪范德蒙德矩阵

为了生成Hermite_e多项式在x、y、z点坐标上的范德蒙矩阵,我们使用python的NumPy模块中的hermite_e.hermevander3d()函数。x、y和z都是具有相同形状的点坐标数组,通过这个技术返回伪范德蒙矩阵。

# 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]))

输出 :

[[ 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. -16. -112.]] 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 多项式