在Python中评估Hermite_e数列在点x上广播的系数列

  • Post category:Python

评估Hermite_e数列在点x上的广播系数列,涉及到Hermite_e多项式的计算。Hermite_e多项式是一个重要的数学工具,用于表示量子力学问题中的波函数。Python中可以通过SymPy模块来求解Hermite_e多项式。以下是该过程的完整攻略:

步骤一:引入模块

在Python中评估Hermite_e数列在点x上广播的系数列,首先需要引入相关模块。可以使用SymPy模块来实现对Hermite_e多项式的计算:

from sympy import *

步骤二:定义符号变量和函数

需要定义符号变量x和n,以及Hermite_e多项式的函数。SymPy中使用hermite_e函数来计算Hermite_e多项式,可以使用lambdify函数将符号函数转化为可调用的Python函数:

x, n = symbols('x n')
Hn = lambdify((n, x), hermite_e(n, x))

步骤三:计算广播系数列

根据Hermite_e数列的定义,广播系数列可以通过递推公式计算得到。下面的循环代码可以计算Hermite_e数列的前n项,用来展示广播系数列的计算过程:

coef = [Hn(0, x), diff(Hn(n, x), x).subs(n, 0)]
for i in range(2, n+1):
    ans = simplify(diff(Hn(i, x), x) - 2*x*Hn(i-1, x) + 2*(i-1)*Hn(i-2, x))
    coef.append(ans.subs(x, 0))

以上代码首先计算了Hermite_e数列的前两项,然后利用递推公式计算了其余项。其中,diff函数可以求导,simplify函数可以化简表达式。

示例一:计算在x=1处的广播系数列

以下代码展示如何计算Hermite_e数列在x=1处的广播系数列:

n = 5
x0 = 1
coef = [Hn(0, x0), diff(Hn(n, x), x).subs([(n, 0), (x, x0)])]
for i in range(2, n+1):
  ans = simplify(diff(Hn(i, x), x) - 2*x*Hn(i-1, x) + 2*(i-1)*Hn(i-2, x))
  coef.append(ans.subs([(n, i-1), (x, x0)]))
print(coef)

以上代码会输出在x=1处的Hermite_e数列的广播系数列,列表中依次为H0(1), H1′(1), H2”(1), H3”'(1), H4””(1), H5””'(1)。

示例二:绘制广播系数列的图像

下面的代码展示了如何用Matplotlib库绘制Hermite_e数列在x=1处的广播系数列的图像:

import matplotlib.pyplot as plt

n = 5
x0 = 1
coef = [Hn(0, x0), diff(Hn(n, x), x).subs([(n, 0), (x, x0)])]
for i in range(2, n+1):
    ans = simplify(diff(Hn(i, x), x) - 2*x*Hn(i-1, x) + 2*(i-1)*Hn(i-2, x))
    coef.append(ans.subs([(n, i-1), (x, x0)]))

plt.plot(coef)
plt.show()

以上代码会绘制出在x=1处的Hermite_e数列的广播系数列的图像,横轴为系数的下标,纵轴为系数的值。

以上就是在Python中评估Hermite_e数列在点x上广播的系数列的完整攻略,示例中展示了如何计算在指定点上的广播系数列和如何绘制图像。