chebyt#
- scipy.special.chebyt(n, monic=False)[Quelle]#
Chebyshev-Polynom erster Art.
Definiert als die Lösung von
\[(1 - x^2)\frac{d^2}{dx^2}T_n - x\frac{d}{dx}T_n + n^2T_n = 0;\]\(T_n\) ist ein Polynom vom Grad \(n\).
- Parameter:
- nint
Grad des Polynoms.
- monicbool, optional
Wenn True, wird der führende Koeffizient auf 1 skaliert. Standard ist False.
- Rückgabe:
- Torthopoly1d
Chebyshev-Polynom erster Art.
Siehe auch
chebyuChebyshev-Polynom zweiter Art.
Hinweise
Die Polynome \(T_n\) sind orthogonal über \([-1, 1]\) mit der Gewichtungsfunktion \((1 - x^2)^{-1/2}\).
Referenzen
[AS]Milton Abramowitz und Irene A. Stegun, Hrsg. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972.
Beispiele
Die Tschebyscheff-Polynome erster Art der Ordnung \(n\) können als Determinante spezifischer \(n \times n\) Matrizen erhalten werden. Als Beispiel können wir überprüfen, wie die Punkte, die aus der Determinante der folgenden \(3 \times 3\) Matrix erhalten werden, exakt auf \(T_3\) liegen.
>>> 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()
Sie sind auch mit den Jacobi-Polynomen \(P_n^{(-0.5, -0.5)}\) durch die Beziehung verbunden
\[P_n^{(-0.5, -0.5)}(x) = \frac{1}{4^n} \binom{2n}{n} T_n(x)\]Überprüfen wir dies für \(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
Wir können die Tschebyscheff-Polynome \(T_n\) für einige Werte von \(n\) plotten.
>>> 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()