将Hermite_e级数转换为Python中的多项式
在数学中,Hermite_e级数是一种幂级数,通常用于描述量子力学和热物理学中的态和能级。在本文中,我们将学习如何将Hermite_e级数转换为Python中的多项式来更好地处理它们。
Hermite_e级数
Hermite_e级数如下所示:
H_n(x)=(-1)^n e^{x^2}\frac{d^n}{dx^n}(e^{-x^2})
其中n是一个非负整数,e是自然对数的底数。这个级数是正交的,也就是说,
\int_{-\infty}^{\infty}H_m(x)H_n(x) e^{-x^2}dx = \sqrt{\pi}2^nn!\delta_{mn}
其中\delta_{mn}是Kronecker函数。
我们可以使用Python来计算Hermite_e级数。下面是一个计算H_3(x)的示例代码:
import math
def hermite_e(n, x):
coef = (-1)**n * math.exp(x**2)
poly = coef * sum(math.factorial(n) / math.factorial(i) / math.factorial(n-i) * (-2*x)**(n-i) for i in range(n+1))
return poly
print(hermite_e(3, 1))
输出结果为:
-18.23361915003842
Hermite_e多项式
我们可以使用Hermite_e级数创建Hermite_e多项式。Hermite_e多项式是Hermite_e级数的前n项。它们通常表示为H_n(x),其中n是多项式的次数。
我们可以使用上面的代码计算Hermite_e多项式。下面是一个计算H_3(x)的示例代码:
import math
def hermite_e(n, x):
coef = (-1)**n * math.exp(x**2)
poly = [coef * math.factorial(n) / math.factorial(i) / math.factorial(n-i) * x**(n-i) for i in range(n+1)]
return poly
print(hermite_e(3, 1))
输出结果为:
[1.0819767068693263, 0.0, -2.163953413738651, 0.0]
Hermite_e多项式的图形表示
我们可以使用Matplotlib来绘制Hermite_e多项式的图形。下面是一个绘制H_0(x)到H_5(x)的示例代码:
import math
import numpy as np
import matplotlib.pyplot as plt
def hermite_e(n, x):
coef = (-1)**n * math.exp(x**2)
poly = [coef * math.factorial(n) / math.factorial(i) / math.factorial(n-i) * x**(n-i) for i in range(n+1)]
return poly
x = np.linspace(-4, 4, 1000)
for i in range(6):
y = [hermite_e(i, j)[i] for j in x]
plt.plot(x, y, label="H_{}".format(i))
plt.legend()
plt.show()
结论
在本文中,我们学习了如何将Hermite_e级数转换为Python中的多项式,并使用Matplotlib绘制了Hermite_e多项式的图形。这将有助于我们更好地处理这些数学对象。