scipy.special.

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

chebyu

Chebyshev-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()
../../_images/scipy-special-chebyt-1_00_00.png

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()
../../_images/scipy-special-chebyt-1_01_00.png