在Python中使用浮点数组点坐标生成Hermite_e多项式的伪Vandermonde矩阵
要生成Hermite多项式的伪Vandermonde矩阵,请使用Python Numpy中的hermite_e.hermevander2d()方法。该方法返回伪Vandermonde矩阵。参数x、y是一个具有相同形状的点坐标数组。根据元素是否为复数,数据类型将转换为float64或complex128。标量将被转换为1-D数组。参数deg是最大度数的列表,形式为[x_deg, y_deg]。
步骤
首先,导入所需的库 –
import numpy as np
from numpy.polynomial import hermite as H
创建具有相同形状的点坐标数组,使用numpy.array()方法-。
x = np.array([0.1, 1.4])
y = np.array([1.7, 2.8])
显示数组 –
print("Array1...\n",x)
print("\nArray2...\n",y)
显示数据类型 –
print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)
检查两个数组的尺寸 –
print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)
检查两个数组的形状-
print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)
使用Python Numpy中的hermite_e.hermevander2d()函数生成Hermite多项式的伪Vandermonde矩阵:
x_deg, y_deg = 2, 3
print("\nResult...\n",H.hermevander2d(x,y, [x_deg, y_deg]))
示例
import numpy as np
from numpy.polynomial import hermite_e as H
# Create arrays of point coordinates, all of the same shape using the numpy.array() method
x = np.array([0.1, 1.4])
y = np.array([1.7, 2.8])
# Display the arrays
print("Array1...\n",x)
print("\nArray2...\n",y)
# Display the datatype
print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)
# Check the Dimensions of both the array
print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)
# Check the Shape of both the array
print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)
# To generate a pseudo Vandermonde matrix of the Hermite polynomial, use the hermite_e.hermevander2d() in Python Numpy
x_deg, y_deg = 2, 3
print("\nResult...\n",H.hermevander2d(x,y, [x_deg, y_deg]))
输出
Array1...
[0.1 1.4]
Array2...
[1.7 2.8]
Array1 datatype...
float64
Array2 datatype...
float64
Dimensions of Array1...
1
Dimensions of Array2...
1
Shape of Array1...
(2,)
Shape of Array2...
(2,)
Result...
[[ 1.000000e+00 1.700000e+00 1.890000e+00 -1.870000e-01 1.000000e-01
1.700000e-01 1.890000e-01 -1.870000e-02 -9.900000e-01 -1.683000e+00
-1.871100e+00 1.851300e-01]
[ 1.000000e+00 2.800000e+00 6.840000e+00 1.355200e+01 1.400000e+00
3.920000e+00 9.576000e+00 1.897280e+01 9.600000e-01 2.688000e+00
6.566400e+00 1.300992e+01]]