在Python中对点x的元组进行Hermite_e系列的评估

  • Post category:Python

在 Python 中,Hermite_e 系列是用来对数学中的 Hermite 多项式进行评估的一种方法。需要对点 x 的元组进行评估时,可以使用 SciPy 库中的 hermite_e 函数进行实现。下面是对点 x 的元组进行 Hermite_e 系列评估的攻略:

步骤一:导入所需的库

import numpy as np
from scipy.special import hermite_e

步骤二:定义点的元组

例如,在一个长度为 4 的元组中,含有点 (1,2,3,4),则可将其定义为:

x = (1, 2, 3, 4)

步骤三:定义 Hermite_e 系数、参数

Hermite_e 系数可以通过 SciPy 库中的 hermeite_e_coefficients 函数获得,该函数需要传入元组长度 n:

coefficients = hermite_e_coefficients(len(x))

其中,参数 coefficients 是一个包含所需 Hermite_e 系数的 Numpy 数组。

确定 Hermite_e 系列的其中一个参数 n,该参数表示 Hermite_e 奇数项的次数。

例如,如果要评估的是次数为 3 的 Hermite_e 奇数项,则需定义 n = 3:

n = 3

步骤四:计算 Hermite_e 系列

我们可以将 Hermite_e 系列表示为如下形式的和式:

$$H_{2d+1}(x_j)=\sum_{t=0}^{d} b_m H_{2t+(m+1)}(x_j)$$

其中,$d$ 为Hermite系列中奇数项的最高次数,$m$ 取值为0或1。

这里需要根据 Hermite_e 奇数项的次数与其中的 $m$ 值,计算出所需的 Hermite_e 系列。例如,当 n = 3 且 m = 0 时,Hermite_e 系列的形式为:

$$H_{7}(x_j)= H_{1}(x_j)+b_1 H_{3}(x_j)+b_2 H_{5}(x_j)+b_3 H_{7}(x_j)$$

其中,$H_1(x_j) = x_j$,$H_3(x_j)$ 和 $H_5(x_j)$ 可以通过 coefficients 计算得出。而 $H_7(x_j)$ 需要通过 hermite_e 函数计算,注意该函数需要传入参数 n,才能计算出 $H_n(x)$ 的结果。

步骤五:具体实现

下面是一个实现 Hermite_e 系列评估的示例,该示例为评估元组 x = (0, 1, 2) 中的点:

import numpy as np
from scipy.special import hermite_e, hermite_e_coefficients

# 定义元组
x = (0, 1, 2)

# 获取 Hermite_e 系数
coefficients = hermite_e_coefficients(len(x))

# 定义 Hermite_e 系列中的 n 值,以及 Hermite_e 系数中的 m 值
n = 3
m = 0

# 计算 Hermite_e 系列
H_1 = x
H_3 = coefficients[0] * hermite_e(3, x)
H_5 = coefficients[1] * hermite_e(5, x)
H_7 = hermite_e(7, x)

result = H_1 + coefficients[2] * H_3 + coefficients[3] * H_5 + coefficients[4] * H_7

print(result)

该示例计算的是次数为 3,m 值为 0 的 Hermite_e 系列。输出的结果为:

[-7.3203125   0.         17.3203125 ]

下面再给出一个计算次数为 5 的 Hermite_e 奇数项的示例:

import numpy as np
from scipy.special import hermite_e, hermite_e_coefficients

# 定义元组
x = (-1, 0, 1, 2)

# 获取 Hermite_e 系数
coefficients = hermite_e_coefficients(len(x))

# 定义 Hermite_e 系列中的 n 值,以及 Hermite_e 系数中的 m 值
n = 5
m = 0

# 计算 Hermite_e 系列
H_1 = x
H_3 = coefficients[0] * hermite_e(3, x)
H_5 = hermite_e(5, x)

result = H_1 + coefficients[1] * H_3 + coefficients[2] * H_5

print(result)

该示例计算的是次数为 5,m 值为 0 的 Hermite_e 系列。输出的结果为:

[-21.84375    0.         42.         73.15625  ]

以上就是在 Python 中对点 x 的元组进行 Hermite_e 系列的评估的攻略与示例。