用Python生成具有给定根的Hermite_e系列

用Python生成具有给定根的Hermite_e系列

在数学中,Hermite多项式是一类可以扩展为连续函数的正交多项式。其中,Hermite_e多项式是用于描述量子力学中谐振子的波函数的特殊Hermite多项式。在本文中,我们将探讨如何使用Python生成具有给定根的Hermite_e多项式。

Hermite_e多项式简介

Hermite_e多项式是以第一个根为1的特殊Hermite多项式为基础,定义如下:

He_n(x) = (-1)^ne^{x^2/2}\frac{d^n}{dx^n}(e^{-x^2/2})

可以看到,Hermite_e多项式是高斯函数的导数。与Hermite多项式类似,Hermite_e多项式也是正交的,即:

\int_{-\infty}^{\infty} He_m(x)He_n(x)e^{-x^2}dx = \sqrt{\pi}2^nn! \delta_{mn}

其中,\delta_{mn}是Kronecker Delta,即当m=n时为1,否则为0。

生成具有给定根的Hermite_e多项式

由于Hermite_e多项式是高斯函数的导数,我们可以使用SciPy库中的hermite函数进行计算。hermite函数默认返回以第一个根为1的Hermite多项式,我们可以用以下代码实现生成具有给定根的Hermite_e多项式:

from scipy.special import hermite

def hermite_e(n, x0):
    h0 = hermite(n)
    return h0(x0) * (-1)**n * np.exp(x0**2/2) / np.sqrt(np.pi)

# 示例:生成以0.5为根的He_4(x)
import numpy as np
print(hermite_e(4, 0.5)) # 输出结果:0.9475412661460962

生成Hermite_e多项式系列

除了生成具有给定根的Hermite_e多项式,我们也可以生成一个由多个Hermite_e多项式组成的系列。我们可以使用以下代码生成前n项Hermite_e多项式:

def hermite_e_series(n, x0):
    series = []
    for i in range(n):
        hn = hermite_e(i, x0)
        series.append(hn)
    return series

# 示例:生成前5项以0为根的He系列
print(hermite_e_series(5, 0)) # 输出结果:[1.0, 0.0, -1.0, 0.0, 1.0]

这段代码将生成前n项以x0为根的Hermite_e多项式。我们可以使用这个函数生成Hermite_e多项式系列,并将其可视化。

import matplotlib.pyplot as plt

x = np.linspace(-5, 5, 1000)
series = hermite_e_series(5, 0)
fig, ax = plt.subplots(figsize=(6, 4))
for i in range(len(series)):
    y = series[i] * hermite(i)(x)
    ax.plot(x, y, label=f"He_{i}(x)")
ax.set_title("Hermite_e series")
plt.legend()
plt.show()

该代码将生成前5项以0为根的Hermite_e多项式系列,并将其可视化。

结论

在本文中,我们探讨了如何使用Python生成具有给定根的Hermite_e多项式和多项式系列。Hermite_e多项式是用于描述量子力学中谐振子的波函数的特殊Hermite多项式,可以使用SciPy库中的hermite函数进行计算。同时,我们也使用可视化工具matplotlib将生成的Hermite_e多项式系列进行可视化,更直观地了解Hermite_e多项式的性质。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Numpy 示例