用Python在点x处评估Hermite级数

用Python在点x处评估Hermite级数

简介

Hermite级数是一个在数学和物理学中广泛使用的级数,其形式如下:

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

其中n是一个非负整数,x可以是任何实数。H_n(x)被称为Hermite多项式,它具有许多有趣的性质,包括:

  • Hermite多项式是正交的。
  • Hermite多项式不是最小二乘逼近的好选择。
  • Hermite多项式是谐振子的本征函数。

在这篇文章中,我们将通过使用Python编写一个程序来评估Hermite多项式在给定点x处的值。

代码

Python有一个内置的”sympy”库,它可以用来计算高阶导数。我们将使用这个库来计算Hermite多项式。

首先,我们需要导入sympy库并定义变量x和n:

import sympy as sp

x = sp.symbols('x')
n = sp.symbols('n', integer=True, positive=True)

接下来,我们可以定义Hermite多项式的函数,它接受两个参数:n和x。我们将使用sympy库来计算Hermite多项式的导数:

def hermite(n, x):
    if n == 0:
        return sp.exp(-x**2)
    elif n == 1:
        return -2*x*sp.exp(-x**2)
    else:
        return sp.diff(hermite(n-1, x), x) - 2*(n-1)*x*hermite(n-2, x)

现在,我们可以使用这个函数来评估Hermite多项式在给定点x处的值:

x_val = 2
n_val = 3

result = hermite(n_val, x_val)

print(f"H_{n_val}({x_val}) = {result}")

输出结果:

H_3(2) = -12*exp(-4)

解释

让我们来解释一下代码中发生了什么。

我们首先导入了sympy库,并定义了x和n两个变量。我们还限制了n必须是一个正整数。然后,我们定义了一个函数“hermite”,它接受两个参数:n和x。该函数使用递归来计算Hermite多项式的值,直到达到基本情况(n等于0或1)。在这两种情况下,我们可以直接计算Hermite多项式的值。在其他情况下,我们使用sympy库来计算Hermite多项式的导数,并将其与前两项的结果相减,得到Hermite多项式的值。最后,我们使用这个函数来评估Hermite多项式在给定点x处的值,并将结果打印出来。

结论

在这篇文章中,我们用Python编写了一个计算Hermite多项式的程序,并使用它在给定点x处评估了Hermite多项式的值。我们还讨论了Hermite多项式的一些有趣的性质。如果你对Hermite多项式或Python编程感兴趣,我建议你继续学习更多关于它们的知识。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Numpy 示例