scipy.special.gegenbauer

scipy.special.gegenbauer(n, alpha, monic=False)[源代码]

格根鲍尔(超球)多项式。

定义为

\[(1-x^2)\frac{d^2}{dx^2}C_n^{(\alpha)} -(2\alpha+1)x\frac{d}{dx}C_n^{(\alpha)} +n(n+2\alpha)C_n^{(\alpha)}=0\]

\(\alpha > -1/2\)\(C_n^{{(\alpha)}}\) 是一次多项式 \(n\)

参数
n集成

多项式的次数。

alpha浮动

参数,必须大于-0.5。

monic布尔值,可选

如果 True ,将前导系数缩放为1,默认值为 False

退货
C正交1d

格根鲍尔多项式。

注意事项

多项式 \(C_n^{{(\alpha)}}\) 是正交的吗? \([-1,1]\) 带权重函数 \((1 - x^2)^{{(\alpha - 1/2)}}\)

示例

>>> from scipy import special
>>> import matplotlib.pyplot as plt

我们可以初始化一个变量 p 作为Gegenbauer多项式使用 gegenbauer 函数并在一点求值 x = 1

>>> p = special.gegenbauer(3, 0.5, monic=False)
>>> p
poly1d([ 2.5,  0. , -1.5,  0. ])
>>> p(1)
1.0

评估 p 在不同的点上 x 在间隔时间内 (-3, 3) ,只需传递一个数组 xp 具体如下:

>>> x = np.linspace(-3, 3, 400)
>>> y = p(x)

然后我们就可以想象 x, y 使用 matplotlib.pyplot

>>> fig, ax = plt.subplots()
>>> ax.plot(x, y)
>>> ax.set_title("Gegenbauer (ultraspherical) polynomial of degree 3")
>>> ax.set_xlabel("x")
>>> ax.set_ylabel("G_3(x)")
>>> plt.show()
../../_images/scipy-special-gegenbauer-1.png