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