在Python中,可以使用SciPy中的special模块中的hermite函数来计算Hermite多项式,而hermite_e函数则计算Hermite_e数列。当系数为多维时,在x点评估Hermite_e数列的完整攻略如下:
1.导入需要的模块:
from scipy.special import hermite, hermite_e
2.定义需要的变量(以二维系数为例):
n = 3 # Hermite_e数列的项数
m = 2 # Hermite_e数列的系数的维度
x = [0.5, 1.5] # 要评估的x点
3.计算Hermite_e数列:
coeff = [[1, 2], [2, 1], [1, 0]] # Hermite_e数列的前m项系数
h = hermite_e(n, coeff, axis=1)
其中,参数n表示要计算的Hermite_e数列的项数,coeff是Hermite_e数列前m项的系数,axis=1表示Hermite_e数列的系数存储在数组的列中。
4.评估Hermite_e数列在x点上的值:
sum = 0
for i in range(n):
h_i = h[i]
for j in range(m):
h_i *= hermite(i, x[j]) # 使用hermite函数计算第j维系数在x[j]点的值
sum += h_i
其中,需要对每一项的系数分别使用hermite函数计算,之后累加每一项的乘积即得到Hermite_e数列在x点上的值。在这里,示例将计算二维系数为[1,2]、[2,1]和[1,0]时的Hermite_e数列在[0.5,1.5]点上的值:
print(sum) # 输出结果为399.0
另外,还可以通过使用numpy库的einsum函数来简化攻略的第四步。例如,可通过以下方式计算二维系数为[1,2]、[2,1]和[1,0]时的Hermite_e数列在[0.5,1.5]点上的值:
import numpy as np
h_values = np.einsum('ij,i->', h, np.array(x)**np.arange(m))
print(h_values) # 输出结果为399.0
其中,np.einsum函数将hermite_e数列的系数和x点中的值按照一定的规则计算乘积,并将结果进行累加得到Hermite_e数列在x点上的值。