scipy.special.

chebyt#

scipy.special.chebyt(n, monic=False)[源代码]#

第一类切比雪夫多项式。

定义为以下方程的解:

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

\(T_n\) 是一个 \(n\) 次多项式。

参数:
nint

多项式的次数。

monicbool, 可选

如果为 True,则将首项系数缩放为 1。默认为 False

返回:
Torthopoly1d

第一类切比雪夫多项式。

另请参阅

chebyu

第二类切比雪夫多项式。

注释

多项式 \(T_n\) 在区间 \([-1, 1]\) 上以权重函数 \((1 - x^2)^{-1/2}\) 正交。

参考文献

[AS]

Milton Abramowitz 和 Irene A. Stegun 编辑。《数学函数手册,包含公式、图表和数学表格》。纽约:多佛出版社,1972 年。

示例

可以通过特定 \(n \times n\) 矩阵的行列式获得 \(n\) 阶的第一类切比雪夫多项式。例如,我们可以检查从以下 \(3 \times 3\) 矩阵的行列式获得的点是否恰好位于 \(T_3\)

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.linalg import det
>>> from scipy.special import chebyt
>>> 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 $T_3$')
>>> ax.plot(x, chebyt(3)(x), label=rf'$T_3$')
>>> for p in np.arange(-1.0, 1.0, 0.1):
...     ax.plot(p,
...             det(np.array([[p, 1, 0], [1, 2*p, 1], [0, 1, 2*p]])),
...             'rx')
>>> plt.legend(loc='best')
>>> plt.show()
../../_images/scipy-special-chebyt-1_00_00.png

它们还通过以下关系与雅可比多项式 \(P_n^{(-0.5, -0.5)}\) 相关

\[P_n^{(-0.5, -0.5)}(x) = \frac{1}{4^n} \binom{2n}{n} T_n(x)\]

让我们验证一下 \(n = 3\) 的情况

>>> from scipy.special import binom
>>> from scipy.special import jacobi
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> np.allclose(jacobi(3, -0.5, -0.5)(x),
...             1/64 * binom(6, 3) * chebyt(3)(x))
True

我们可以绘制一些 \(n\) 值的切比雪夫多项式 \(T_n\)

>>> x = np.arange(-1.5, 1.5, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-4.0, 4.0)
>>> ax.set_title(r'Chebyshev polynomials $T_n$')
>>> for n in np.arange(2,5):
...     ax.plot(x, chebyt(n)(x), label=rf'$T_n={n}$')
>>> plt.legend(loc='best')
>>> plt.show()
../../_images/scipy-special-chebyt-1_01_00.png