scipy.special.

chebyu#

scipy.special.chebyu(n, monic=False)[Quelle]#

Chebyshev-Polynom zweiter Art.

Definiert als die Lösung von

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

\(U_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:
Uorthopoly1d

Chebyshev-Polynom zweiter Art.

Siehe auch

chebyt

Chebyshev-Polynom erster Art.

Hinweise

Die Polynome \(U_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

Chebyshev-Polynome zweiter 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 \(U_3\) liegen.

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

Sie erfüllen die Rekursionsbeziehung

\[U_{2n-1}(x) = 2 T_n(x)U_{n-1}(x)\]

wobei die \(T_n\) die Chebyshev-Polynome erster Art sind. Überprüfen wir dies für \(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

Wir können die Chebyshev-Polynome \(U_n\) für einige Werte von \(n\) plotten.

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