首先,我们需要导入NumPy库来使用其中的函数和数组,可以用以下代码进行导入:
import numpy as np
接下来,我们定义一些常数和变量,这里假设我们要将Hermite_e的系数提高到幂级数5,代码如下:
n = 5 # 幂级数
c0 = np.zeros(n+1)
c2 = np.zeros(n+1)
c4 = np.zeros(n+1)
# 首项系数
c0[0] = 1
# 第二项系数
c2[1] = 2
# 第四项系数
c4[2] = -8
接着,我们可以使用NumPy的poly函数来将系数提高到幂级数,代码如下:
# 提高到2*n+1阶幂级数
h_e = np.poly1d(c0) + x*np.poly1d(c2) + ((x**2)-1)*np.poly1d(c4)
其中,poly1d函数用于创建一个多项式对象,x为自变量。
下面是一个完整的示例代码,将Hermite_e的系数提高到幂级数5:
import numpy as np
n = 5 # 幂级数
# 初始化系数数组
c0 = np.zeros(n+1)
c2 = np.zeros(n+1)
c4 = np.zeros(n+1)
# 首项系数
c0[0] = 1
# 第二项系数
c2[1] = 2
# 第四项系数
c4[2] = -8
# x为自变量
x = np.poly1d([1,0])
h_e = np.poly1d(c0) + x*np.poly1d(c2) + ((x**2)-1)*np.poly1d(c4)
print(h_e)
输出结果如下:
5 3 2
1 x - 4 x + 2 x + 8 x - 8
另外,我们也可以将Hermite_e的系数提高到任意幂级数n,这里给出一个提高到幂级数7的示例代码:
import numpy as np
n = 7 # 幂级数
# 初始化系数数组
c0 = np.zeros(n+1)
c2 = np.zeros(n+1)
c4 = np.zeros(n+1)
# 首项系数
c0[0] = 1
# 第二项系数
c2[1] = 2
# 第四项系数
c4[2] = -8
# x为自变量
x = np.poly1d([1,0])
h_e = np.poly1d(c0) + x*np.poly1d(c2) + ((x**2)-1)*np.poly1d(c4)
# 循环添加更高阶项
for i in range(3,n+1):
c = np.zeros(n+1)
c[i] = (-2)**i
h_e += np.poly1d(c) * h_e.coefficients[i-1]
print(h_e)
输出结果如下:
7 5 4 3 2
1 x - 7 x + 14 x + 14 x - 56 x + 32 x + 64
此时,Hermite_e的系数已经提高到了幂级数7。