scipy.special.
chebyu#
- scipy.special.chebyu(n, monic=False)[源代码]#
第二类切比雪夫多项式。
定义为
\[(1 - x^2)\frac{d^2}{dx^2}U_n - 3x\frac{d}{dx}U_n + n(n + 2)U_n = 0;\]\(U_n\) 是 \(n\) 阶多项式。
- 参数:
- nint
多项式的阶。
- monicbool,可选
如果值为 True,则将首项系数缩放为 1。默认值为 False。
- 返回:
- Uorthopoly1d
第二类切比雪夫多项式。
另请参见
chebyt
第一类切比雪夫多项式。
注释
多项式 \(U_n\) 在 \([-1, 1]\) 上正交,权重函数为 \((1 - x^2)^{1/2}\)。
参考
[AS]Milton Abramowitz 和 Irene A. Stegun(编辑)。带公式、图表和数学表的数学函数手册。纽约:Dover,1972 年。
示例
第二类切比雪夫多项式的\(n\)级数可作为特定\(n \times n\)矩阵的行列式求得。以下示例可显示下列\(3 \times 3\)矩阵行列式所得出的点,准确落在\(U_3\)上。
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.linalg import det >>> from scipy.special import chebyu >>> x = np.arange(-1.0, 1.0, 0.01) >>> fig, ax = plt.subplots() >>> ax.set_ylim(-2.0, 2.0) >>> ax.set_title(r'Chebyshev polynomial $U_3$') >>> ax.plot(x, chebyu(3)(x), label=rf'$U_3$') >>> for p in np.arange(-1.0, 1.0, 0.1): ... ax.plot(p, ... det(np.array([[2*p, 1, 0], [1, 2*p, 1], [0, 1, 2*p]])), ... 'rx') >>> plt.legend(loc='best') >>> plt.show()
它们满足递推关系
\[U_{2n-1}(x) = 2 T_n(x)U_{n-1}(x)\]其中\(T_n\)为第一类切比雪夫多项式。我们来验证\(n = 2\)时的情况
>>> from scipy.special import chebyt >>> x = np.arange(-1.0, 1.0, 0.01) >>> np.allclose(chebyu(3)(x), 2 * chebyt(2)(x) * chebyu(1)(x)) True
我们可以绘制出\(n\)的某些值所对应的切比雪夫多项式\(U_n\)
>>> x = np.arange(-1.0, 1.0, 0.01) >>> fig, ax = plt.subplots() >>> ax.set_ylim(-1.5, 1.5) >>> ax.set_title(r'Chebyshev polynomials $U_n$') >>> for n in np.arange(1,5): ... ax.plot(x, chebyu(n)(x), label=rf'$U_n={n}$') >>> plt.legend(loc='best') >>> plt.show()