scipy.special.

laguerre#

scipy.special.laguerre(n, монический=False)[источник]#

Полином Лагерра.

Определяется как решение уравнения

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

\(L_n\) является полиномом степени \(n\).

Параметры:
nint

Степень полинома.

моническийbool, необязательно

Если True, масштабировать старший коэффициент до 1. По умолчанию False.

Возвращает:
Lorthopoly1d

Полином Лагерра.

Смотрите также

genlaguerre

Обобщённый (присоединённый) полином Лагерра.

Примечания

Полиномы \(L_n\) ортогональны на \([0, \infty)\) с весовой функцией \(e^{-x}\).

Ссылки

[AS]

Милтон Абрамовиц и Ирен А. Стегун, ред. Справочник по математическим функциям с формулами, графиками и математическими таблицами. Нью-Йорк: Dover, 1972.

Примеры

Полиномы Лагерра \(L_n\) являются частным случаем \(\alpha = 0\) обобщённых полиномов Лагерра \(L_n^{(\alpha)}\). Проверим это на интервале \([-1, 1]\):

>>> import numpy as np
>>> from scipy.special import genlaguerre
>>> from scipy.special import laguerre
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> np.allclose(genlaguerre(3, 0)(x), laguerre(3)(x))
True

Полиномы \(L_n\) также удовлетворяют рекуррентному соотношению:

\[(n + 1)L_{n+1}(x) = (2n +1 -x)L_n(x) - nL_{n-1}(x)\]

Это можно легко проверить на \([0, 1]\) для \(n = 3\):

>>> x = np.arange(0.0, 1.0, 0.01)
>>> np.allclose(4 * laguerre(4)(x),
...             (7 - x) * laguerre(3)(x) - 3 * laguerre(2)(x))
True

Это график первых нескольких полиномов Лагерра \(L_n\):

>>> import matplotlib.pyplot as plt
>>> x = np.arange(-1.0, 5.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-5.0, 5.0)
>>> ax.set_title(r'Laguerre polynomials $L_n$')
>>> for n in np.arange(0, 5):
...     ax.plot(x, laguerre(n)(x), label=rf'$L_{n}$')
>>> plt.legend(loc='best')
>>> plt.show()
../../_images/scipy-special-laguerre-1.png