在 Python 中对 Hermite_e 系列进行微分,可以通过 SymPy 模块来实现。SymPy 是一个用于符号计算的 Python 库,支持常见的数学运算,包括多项式、微积分、方程求解等,并能够输出 LaTeX 代码,方便进行学术写作。
以下是对 Hermite_e 序列进行微分的完整攻略:
- 导入 SymPy 模块,定义 Hermite_e 函数作为符号表达式:
import sympy as sp
x = sp.Symbol('x')
n = sp.Symbol('n', integer=True)
def Hermite_e(n, x):
if n == 0:
return 1
elif n == 1:
return 2*x
else:
return 2*x*Hermite_e(n-1,x) - 2*(n-1)*Hermite_e(n-2,x)
其中,sp.Symbol() 定义了一个符号变量,integer=True 表示该变量是一个整数,并且 Hermite_e(n, x) 递归地调用了自身来计算 Hermite_e 系列函数。
- 计算 Hermite_e(n, x) 的一阶导数 Hermite_e_n1,并对其进行化简:
Hermite_e_n1 = sp.diff(Hermite_e(n, x), x)
Hermite_e_n1_simpl = sp.simplify(Hermite_e_n1)
在这里我们使用了 SymPy 的 simplify() 函数,它能够将符号表达式进行化简。
这里是一个示例输出:
Hermite_e_n1 = 2*n*Hermite_e(n-1,x)
Hermite_e_n1_simpl = 2*(n*Hermite_e(n-1,x-1)+Hermite_e(n-1,x))
- 计算 Hermite_e(n, x) 的二阶导数 Hermite_e_n2,并对其进行化简:
Hermite_e_n2 = sp.diff(Hermite_e_n1, x)
Hermite_e_n2_simpl = sp.simplify(Hermite_e_n2)
同样地,这里我们也使用了 SymPy 的 simplify() 函数进行化简。
这里是一个示例输出:
Hermite_e_n2 = 2*n*(2*n-1)*Hermite_e(n-2,x)
Hermite_e_n2_simpl = 2*(n**2-n)*Hermite_e(n-2,x-1)+4*n*Hermite_e(n-1,x-1)
以上即是对 Hermite_e 系列进行微分的完整攻略,下面来看两个示例说明:
示例1:
计算 Hermite_e(3, x) 的一阶导数和二阶导数,并对其进行化简。
import sympy as sp
x = sp.Symbol('x')
n = sp.Symbol('n', integer=True)
def Hermite_e(n, x):
if n == 0:
return 1
elif n == 1:
return 2*x
else:
return 2*x*Hermite_e(n-1,x) - 2*(n-1)*Hermite_e(n-2,x)
Hermite_e_3 = Hermite_e(3, x)
Hermite_e_3_n1 = sp.diff(Hermite_e_3, x)
Hermite_e_3_n1_simpl = sp.simplify(Hermite_e_3_n1)
Hermite_e_3_n2 = sp.diff(Hermite_e_3_n1, x)
Hermite_e_3_n2_simpl = sp.simplify(Hermite_e_3_n2)
print(Hermite_e_3_n1_simpl)
print(Hermite_e_3_n2_simpl)
输出结果:
12*x
12
示例2:
计算 Hermite_e(4, x) 的一阶导数和二阶导数,并对其进行化简。
import sympy as sp
x = sp.Symbol('x')
n = sp.Symbol('n', integer=True)
def Hermite_e(n, x):
if n == 0:
return 1
elif n == 1:
return 2*x
else:
return 2*x*Hermite_e(n-1,x) - 2*(n-1)*Hermite_e(n-2,x)
Hermite_e_4 = Hermite_e(4, x)
Hermite_e_4_n1 = sp.diff(Hermite_e_4, x)
Hermite_e_4_n1_simpl = sp.simplify(Hermite_e_4_n1)
Hermite_e_4_n2 = sp.diff(Hermite_e_4_n1, x)
Hermite_e_4_n2_simpl = sp.simplify(Hermite_e_4_n2)
print(Hermite_e_4_n1_simpl)
print(Hermite_e_4_n2_simpl)
输出结果:
16*x**2 - 48
48*x