scipy.special.eval_legendre#
-
scipy.special.eval_legendre(n, x, выход=None) =
'eval_legendre'> # Вычислить полином Лежандра в точке.
Полиномы Лежандра могут быть определены через гауссову гипергеометрическую функцию \({}_2F_1\) как
\[P_n(x) = {}_2F_1(-n, n + 1; 1; (1 - x)/2).\]Когда \(n\) является целым числом, результат - полином степени \(n\). См. 22.5.49 в [AS] подробности.
- Параметры:
- narray_like
Степень полинома. Если не целое число, результат определяется через отношение к гипергеометрической функции Гаусса.
- xarray_like
Точки, в которых вычисляется полином Лежандра
- выходndarray, необязательно
Необязательный выходной массив для значений функции
- Возвращает:
- Pскаляр или ndarray
Значения полинома Лежандра
Смотрите также
roots_legendreкорни и квадратурные веса полиномов Лежандра
legendreОбъект полинома Лежандра
hyp2f1Гипергеометрическая функция Гаусса
numpy.polynomial.legendre.LegendreРяд Лежандра
Ссылки
[AS]Милтон Абрамовиц и Ирен А. Стегун, ред. Справочник по математическим функциям с формулами, графиками и математическими таблицами. Нью-Йорк: Dover, 1972.
Примеры
>>> import numpy as np >>> from scipy.special import eval_legendre
Вычислить полином Лежандра нулевого порядка при x = 0
>>> eval_legendre(0, 0) 1.0
Вычислить полином Лежандра первого порядка между -1 и 1
>>> X = np.linspace(-1, 1, 5) # Domain of Legendre polynomials >>> eval_legendre(1, X) array([-1. , -0.5, 0. , 0.5, 1. ])
Вычислить полиномы Лежандра порядка от 0 до 4 при x = 0
>>> N = range(0, 5) >>> eval_legendre(N, 0) array([ 1. , 0. , -0.5 , 0. , 0.375])
Построить полиномы Лежандра порядка от 0 до 4
>>> X = np.linspace(-1, 1)
>>> import matplotlib.pyplot as plt >>> for n in range(0, 5): ... y = eval_legendre(n, X) ... plt.plot(X, y, label=r'$P_{}(x)$'.format(n))
>>> plt.title("Legendre Polynomials") >>> plt.xlabel("x") >>> plt.ylabel(r'$P_n(x)$') >>> plt.legend(loc='lower right') >>> plt.show()