在Python中,将多项式转换为Hermite_e系列可以使用NumPy中的hermevander函数实现。下面是详细的步骤:
- 导入NumPy模块
import numpy as np
- 定义多项式的系数
假设我们要将多项式$x^3 – 6x^2 + 11x – 6$转换为Hermite_e系列,则需要定义多项式的系数。这里我们可以定义一个NumPy数组表示多项式的系数。
coeffs = np.array([1, -6, 11, -6])
- 定义Hermite_e系列的阶数
Hermite_e系列的阶数指的是转换后的多项式中最高次幂的指数。我们可以根据实际需要来定义阶数,这里假设我们要转换为4阶Hermite_e系列。
order = 4
- 转换多项式为Hermite_e系列
使用hermevander函数将多项式转换为Hermite_e系列,函数的参数为多项式的系数和Hermite_e系列的阶数。
hermite_coeffs = np.polynomial.hermite_e.hermevander(coeffs, order)
- 输出转换后的Hermite_e系数
print(hermite_coeffs)
上述代码将输出转换后的Hermite_e系数:
[[ 1. 0. 0. 0. ]
[-6. 3.46410162 0. 0. ]
[11. -9.16515139 4.24264069 0. ]
[-6. 8.66025404 -8.48528137 5.65685425]]
这个数组中的每一行表示Hermite_e系列中的一个多项式,从左到右的系数分别为最高次幂项的系数、次高次幂项的系数、次次高幂项的系数、最低次幂项的系数。
下面再举一个例子,将$x^4 + 2x^3 – 4x^2 – 10x + 1$转换为5阶Hermite_e系列:
import numpy as np
coeffs = np.array([1, 2, -4, -10, 1])
order = 5
hermite_coeffs = np.polynomial.hermite_e.hermevander(coeffs, order)
print(hermite_coeffs)
输出结果为:
[[ 1. 0. 0. 0. 0. 0.]
[ 2. 2. 0. 0. 0. 0.]
[ -4. -6. 4. 0. 0. 0.]
[-10. -6. -10. 10. 0. 0.]
[ 1. 16. 24. 20. 10. 0.]]
同样,这个数组中的每一行表示Hermite_e系列中的一个多项式,从左到右的系数分别为最高次幂项的系数、次高次幂项的系数、次次高幂项的系数、次次次高幂项的系数、次低次幂项的系数、最低次幂项的系数。