scipy.special.
genlaguerre#
- scipy.special.genlaguerre(n, alpha, monic=False)[源代码]#
广义(相关)拉盖尔多项式。
定义为以下方程的解
\[x\frac{d^2}{dx^2}L_n^{(\alpha)} + (\alpha + 1 - x)\frac{d}{dx}L_n^{(\alpha)} + nL_n^{(\alpha)} = 0,\]其中 \(\alpha > -1\); \(L_n^{(\alpha)}\) 是一个 \(n\) 次多项式。
- 参数:
- nint
多项式的次数。
- alphafloat
参数,必须大于 -1。
- monicbool,可选
如果为True,则缩放首项系数为 1。默认为False。
- 返回:
- Lorthopoly1d
广义拉盖尔多项式。
注释
对于固定的 \(\alpha\),多项式 \(L_n^{(\alpha)}\) 在 \([0, \infty)\) 上关于权重函数 \(e^{-x}x^\alpha\) 是正交的。
拉盖尔多项式是 \(\alpha = 0\) 时的特殊情况。
参考文献
[AS]Milton Abramowitz 和 Irene A. Stegun,编。《数学函数手册,包含公式、图表和数学表格》。纽约:多佛,1972 年。
示例
广义拉盖尔多项式与合流超几何函数 \({}_1F_1\) 密切相关
\[L_n^{(\alpha)} = \binom{n + \alpha}{n} {}_1F_1(-n, \alpha +1, x)\]例如,对于 \(n = \alpha = 3\) 在区间 \([-1, 1]\) 上可以验证这一点
>>> import numpy as np >>> from scipy.special import binom >>> from scipy.special import genlaguerre >>> from scipy.special import hyp1f1 >>> x = np.arange(-1.0, 1.0, 0.01) >>> np.allclose(genlaguerre(3, 3)(x), binom(6, 3) * hyp1f1(-3, 4, x)) True
这是广义拉盖尔多项式 \(L_3^{(\alpha)}\) 对于某些 \(\alpha\) 值的图
>>> import matplotlib.pyplot as plt >>> x = np.arange(-4.0, 12.0, 0.01) >>> fig, ax = plt.subplots() >>> ax.set_ylim(-5.0, 10.0) >>> ax.set_title(r'Generalized Laguerre polynomials $L_3^{\alpha}$') >>> for alpha in np.arange(0, 5): ... ax.plot(x, genlaguerre(3, alpha)(x), label=rf'$L_3^{(alpha)}$') >>> plt.legend(loc='best') >>> plt.show()