scipy.special.eval_legendre#
- scipy.special.eval_legendre(n, x, out=None) = <ufunc 'eval_legendre'>#
- Evaluate Legendre polynomial at a point. - The Legendre polynomials can be defined via the Gauss hypergeometric function \({}_2F_1\) as \[P_n(x) = {}_2F_1(-n, n + 1; 1; (1 - x)/2).\]- When \(n\) is an integer the result is a polynomial of degree \(n\). See 22.5.49 in [AS] for details. - Parameters:
- narray_like
- Degree of the polynomial. If not an integer, the result is determined via the relation to the Gauss hypergeometric function. 
- xarray_like
- Points at which to evaluate the Legendre polynomial 
- outndarray, optional
- Optional output array for the function values 
 
- Returns:
- Pscalar or ndarray
- Values of the Legendre polynomial 
 
 - See also - roots_legendre
- roots and quadrature weights of Legendre polynomials 
- legendre
- Legendre polynomial object 
- hyp2f1
- Gauss hypergeometric function 
- numpy.polynomial.legendre.Legendre
- Legendre series 
 - References [AS]- Milton Abramowitz and Irene A. Stegun, eds. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972. - Examples - >>> import numpy as np >>> from scipy.special import eval_legendre - Evaluate the zero-order Legendre polynomial at x = 0 - >>> eval_legendre(0, 0) 1.0 - Evaluate the first-order Legendre polynomial between -1 and 1 - >>> X = np.linspace(-1, 1, 5) # Domain of Legendre polynomials >>> eval_legendre(1, X) array([-1. , -0.5, 0. , 0.5, 1. ]) - Evaluate Legendre polynomials of order 0 through 4 at x = 0 - >>> N = range(0, 5) >>> eval_legendre(N, 0) array([ 1. , 0. , -0.5 , 0. , 0.375]) - Plot Legendre polynomials of order 0 through 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() 