## Polinomios de Legendre

Ecuación diferencial $\left(1-{x}^{2}\right)\frac{{d}^{2}y}{d{x}^{2}}-2x\frac{dy}{dx}+n\left(n+1\right)y=0\text{ }n=1,2,3...$ ${P}_{n}\left(x\right)=\frac{1}{{2}^{n}n!}\frac{{d}^{n}}{d{x}^{n}}\left[{\left({x}^{2}-1\right)}^{n}\right]$ $\left(n+1\right){P}_{n+1}\left(x\right)=\left(2n+1\right)x{P}_{n}\left(x\right)-n{P}_{n-1}\left(x\right)$

Los primeros polinomios de Legendre son.

$\begin{array}{l}{P}_{0}\left(x\right)=1\\ {P}_{1}\left(x\right)=x\\ {P}_{2}\left(x\right)=\frac{1}{2}\left(3{x}^{2}-1\right)\\ {P}_{3}\left(x\right)=\frac{1}{2}\left(5{x}^{3}-3x\right)\\ {P}_{4}\left(x\right)=\frac{1}{8}\left(35{x}^{4}-30{x}^{2}+3\right)\\ {P}_{5}\left(x\right)=\frac{1}{8}\left(63{x}^{5}-70{x}^{3}+15x\right)\\ {P}_{6}\left(x\right)=\frac{1}{16}\left(231{x}^{6}-315{x}^{4}+105{x}^{2}-5\right)\\ {P}_{7}\left(x\right)=\frac{1}{16}\left(429{x}^{7}-693{x}^{5}+315{x}^{3}-35x\right)\\ .....\end{array}$

Utilizamos la función legendreP de MATLAB para mostrar los primeros polinomios de Legendre

>> syms x;
>> for n=1:7
legendreP(n,x)
end

ans =x
ans =(3*x^2)/2 - 1/2
ans =(5*x^3)/2 - (3*x)/2
ans =(35*x^4)/8 - (15*x^2)/4 + 3/8
ans =(63*x^5)/8 - (35*x^3)/4 + (15*x)/8
ans =(231*x^6)/16 - (315*x^4)/16 + (105*x^2)/16 - 5/16
ans =(429*x^7)/16 - (693*x^5)/16 + (315*x^3)/16 - (35*x)/16  

Mediante del comando diff de MATLAB, obtenemos la expresión de P4(x) y P5(x)

>> syms x;
>> n=4;
>> P4=diff((x^2-1)^n,n)/(2^n*factorial(n));
>> P4=simplify(P4)
P4 =(35*x^4)/8 - (15*x^2)/4 + 3/8
>> n=5;
>> P5=diff((x^2-1)^n,n)/(2^n*factorial(n));
>> P5=simplify(P5)
P5 =(x*(63*x^4 - 70*x^2 + 15))/8

Definimos la función legendre_p para obtener los coeficientes de los polinomios de Legendre, utilizando la relación de recurrencia

function p=legendre_p(n)
p1=1;
p2=[1,0];
if n==0
p=p1; %P0
elseif n==1
p=p2; %P1
else
for i=2:n
p=((2*(i-1)+1)*[p2,0]-(i-1)*[0,0,p1])/i;
p1=p2;
p2=p;
end
end
end

Generamos los polinomios de Legendre y comprobamos sus propiedades, etc. La función poly2sym convierte el vector de los coeficientes en un polinomio simbólico p(x).

>> syms x;
>> P4=poly2sym(legendre_p(4))
P4 =(35*x^4)/8 - (15*x^2)/4 + 3/8
>> P5=poly2sym(legendre_p(5))
P5 =(63*x^5)/8 - (35*x^3)/4 + (15*x)/8

Creamos la función recursiva legendre_r para obtener el valor de los polinomios cuando se proporciona el valor de x utilizando la relación de recurrencia, partiendo de P0(x) =0 y P1(x) =x

function res=legendre_r(n,x)
if n==0
res=ones(1,length(x));
elseif n==1
res=x;
else
res=((2*(n-1)+1)*x.*legendre_r(n-1,x)-(n-1)*legendre_r(n-2,x))/n;
end
end

Las llamadas a las funciones legendre_r y legendre_p, para calcular el valor del polinomio n=4 para x=0.5, P4(0.5)

>> x=0.5;
>> legendre_r(4,x)
ans =   -0.2891
>> polyval(legendre_p(4),x)
ans =   -0.2891
>> legendreP(4,x)
ans =   -0.2891

Representamos gráficamente los polinomios de P1(x) a P6(x) empleando el comando fplot. Utilizamos indistintamente las funciones legrendre_p que devuelve los coeficientes del polinomio en combinación con polyval, la función recursiva legendre_r o la función de MATLAB legendreP

hold on
for n=1:6
%f=@(x) polyval(legendre_p(n),x);
%f=@(x) legendre_r(n,x);
f=@(x) legendreP(n,x);
fplot(f,[-1,1]);
end
xlabel('x')
ylabel('P_n(x)')
title('Polinomios de Legendre')
grid on
hold off

• En la gráfica vemos que

• Pn(1)=1

Pn(-1)=(-1)n

Si n es impar Pn(x)=-Pn(-x), de modo que Pn(0)=0

• Comprobamos numéricamente mediante la función integral que el área bajo Pn(x) es nula, para n>1

• $\underset{-1}{\overset{1}{\int }}{P}_{n}\left(x\right)dx=0,\text{ }n\ge 1$

>> syms x;
>> for n=1:4
int(legendreP(n,x),x,-1,1)
end

ans =0
ans =0
ans =0
ans =0

• $\underset{-1}{\overset{1}{\int }}{P}_{n}\left(x\right){P}_{m}\left(x\right)dx=\left\{\begin{array}{l}0\text{ }m\ne n\\ \frac{2}{2n+1}\text{ }m=n\end{array}$

>> syms x;
>> int(legendreP(3,x)*legendreP(4,x),x,-1,1)
ans =0
>> int(legendreP(4,x)*legendreP(4,x),x,-1,1)
ans =2/9

• $\begin{array}{l}\frac{d{P}_{n+1}\left(x\right)}{dx}=\left(n+1\right){P}_{n}\left(x\right)+x\frac{d{P}_{n}\left(x\right)}{dx}\\ \frac{d{P}_{0}\left(x\right)}{dx}=0,\text{ }\frac{d{P}_{1}\left(x\right)}{dx}=1,\text{ }\frac{d{P}_{2}\left(x\right)}{dx}=3x,....\end{array}$

>> syms x;
>> diff(legendreP(3,x))
ans =(15*x^2)/2 - 3/2
>> 3*legendreP(2,x)+x*diff(legendreP(2,x))
ans =(15*x^2)/2 - 3/2

## Aproximación de una función mediante los polinomios de Legendre

### Polinomio p(x) de grado N

$\begin{array}{l}1={P}_{0}\left(x\right)\\ x={P}_{1}\left(x\right)\\ {x}^{2}=\frac{1}{3}\left(2{P}_{2}\left(x\right)+{P}_{0}\left(x\right)\right)\\ {x}^{3}=\frac{1}{5}\left(2{P}_{3}\left(x\right)+3{P}_{1}\left(x\right)\right)\\ {x}^{4}=\frac{1}{35}\left(8{P}_{4}\left(x\right)+20{P}_{2}\left(x\right)+7{P}_{0}\left(x\right)\right)\\ {x}^{5}=\frac{1}{63}\left(8{P}_{5}\left(x\right)+28{P}_{3}\left(x\right)+27{P}_{1}\left(x\right)\right)\\ {x}^{6}=\frac{1}{231}\left(16{P}_{6}\left(x\right)+72{P}_{4}\left(x\right)+110{P}_{2}\left(x\right)+33{P}_{0}\left(x\right)\right)\end{array}$

Un polinomio de grado N se puede expresar como una combinación lineal de N+1 polinomios de Legendre Pn(x), n=0, 1,2...N, utilizando las relaciones de ortogonalidad

$\begin{array}{l}f\left(x\right)=\sum _{n=0}^{N}{c}_{n}{P}_{n}\left(x\right)\hfill \\ \underset{-1}{\overset{1}{\int }}f\left(x\right){P}_{m}\left(x\right)dx=\sum _{n=0}^{N}{c}_{n}\underset{-1}{\overset{1}{\int }}{P}_{n}\left(x\right){P}_{m}\left(x\right)dx\hfill \\ \underset{-1}{\overset{1}{\int }}f\left(x\right){P}_{n}\left(x\right)dx=\frac{2}{2n+1}{c}_{n}\hfill \\ {c}_{n}=\frac{2n+1}{2}\underset{-1}{\overset{1}{\int }}f\left(x\right){P}_{n}\left(x\right)dx\text{ }n=0,1,2...N\hfill \end{array}$

Por ejemplo, P2(x) es una función simétrica y f(x)=x3 es una función antisimétrica, entonces

$\underset{-1}{\overset{1}{\int }}{x}^{3}{P}_{2}\left(x\right)dx=0$

Por ejemplo, P3(x) es una función antisimétrica y f(x)=x2 es una función simétrica, entonces

$\underset{-1}{\overset{1}{\int }}{x}^{2}{P}_{3}\left(x\right)dx=0$

x3 es una combinación de polinomios de Legendre de índice impar y x2 es una combinación de polinomios de Legendre de índice par

Sea el polinomio, f(x)=8x4-8x2+1=c0P0(x)+c1P1(x)+c2P2(x)+c3P3(x)+c4P4(x)

Elaboramos un script para calcular los coeficientes c0, c1, c2, c3 y c4

syms x;
p=[8,0,-8,0,1]; %coeficientes del polinomio
pol=poly2sym(p); %polinomio
for n=0:length(p)-1
P=poly2sym(legendre_p(n));
c=(2*n+1)*int(pol*P,x,-1,1)/2; %coeficientes
disp([n,c])
end
[ 0, -1/15]
[ 1, 0]
[ 2, -16/21]
[ 3, 0]
[ 4, 64/35]

$8{x}^{4}-8{x}^{2}+1=\frac{64}{35}{P}_{4}\left(x\right)-\frac{16}{21}{P}_{2}\left(x\right)-\frac{1}{15}{P}_{0}\left(x\right)$

Comprobación

>> 64*poly2sym(legendre_p(4))/35-16*poly2sym(legendre_p(2))/21-1/15
ans =8*x^4 - 8*x^2 + 1

Utilizando la función legendreP de MATLAB obtenemos los mismos resultados

syms x;
p=[8,0,-8,0,1]; %coeficientes del polinomio
pol=poly2sym(p); %polinomio
for n=0:length(p)-1
c=(2*n+1)*int(pol*legendreP(n,x),x,-1,1)/2; %coeficientes
disp([n,c])
end

Comprobación

>> 64*legendreP(4,x)/35-16*legendreP(2,x)/21-1/15
ans =8*x^4 - 8*x^2 + 1

### Función f(x)

Aproximamos la función f(x) mediante la serie

$\begin{array}{l}f\left(x\right)=\sum _{n=0}^{\infty }{c}_{n}{P}_{n}\left(x\right)\\ {c}_{n}=\frac{2n+1}{2}\underset{-1}{\overset{1}{\int }}f\left(x\right){P}_{n}\left(x\right)dx\end{array}$

Vamos a aproximar la función f(x)=sgn(x) (función signo de MATLAB) de la figura a la combinación lineal de los N+1 primeros polinomios de Legendre

Para calcular cada uno de los coeficientes cn (n=0...N) utilizamos la función integral para calcular numéricamente la integral definida entre los límites -1 y 1.

sign es una función de MATLAB que devuelve el signo de x.

Primero, calculamos los coeficientes cn y después, la aproximación a la función f(x)

$f\left(x\right)\approx \sum _{n=0}^{N}{c}_{n}{P}_{n}\left(x\right)$

N=10;
c=zeros(1,N+1);
for n=0:N
c(n+1)=integral(@(x)sign(x).*legendreP(n,x),-1,1)*(n+1/2);
end

x=-1:0.02:1;
y=zeros(1,length(x));
for n=0:N
y=y+c(n+1)*legendreP(n,x);
end
hold on
line([-1,0],[-1,-1])
line([0,1],[1,1])
plot(x,y,'r')
hold off
xlabel('x')
ylabel('f(x)')
title('Aproximación mediante polinomios de Legendre')
grid on

En color azul se dibuja la función f(x) y en color rojo la aproximación mediante la combinación lineal de los N+1=11 primeros polinomios de Legendre.

La ecuación diferencial y su solución, los polinomios asociados de Legendre, son

$\begin{array}{l}\left(1-{x}^{2}\right)\frac{{d}^{2}y}{d{x}^{2}}-2x\frac{dy}{dx}+\left(n\left(n+1\right)-\frac{{m}^{2}}{1-{x}^{2}}\right)y=0\\ y={P}_{n}^{m}\left(x\right)={\left(1-{x}^{2}\right)}^{m/2}\frac{{d}^{m}}{d{x}^{m}}{P}_{n}\left(x\right)\\ {P}_{n}^{m}\left(x\right)=0,\text{ }m>n\end{array}$

Los primeros polinomios asociados de Legendre son

$\begin{array}{l}{P}_{0}^{0}\left(x\right)={P}_{0}\left(x\right)=1\\ {P}_{1}^{0}\left(x\right)={P}_{1}\left(x\right)=x\\ {P}_{1}^{1}\left(x\right)=\sqrt{1-{x}^{2}}\frac{d}{dx}{P}_{1}\left(x\right)=\sqrt{\left(1-{x}^{2}\right)}\\ {P}_{2}^{0}\left(x\right)={P}_{2}\left(x\right)=\frac{1}{2}\left(3{x}^{2}-1\right)\\ {P}_{2}^{1}\left(x\right)=\sqrt{1-{x}^{2}}\frac{d}{dx}{P}_{2}\left(x\right)=3x\sqrt{\left(1-{x}^{2}\right)}\\ {P}_{2}^{2}\left(x\right)=\sqrt{{\left(1-{x}^{2}\right)}^{2}}\frac{{d}^{2}}{d{x}^{2}}{P}_{2}\left(x\right)=3\left(1-{x}^{2}\right)\\ {P}_{3}^{0}\left(x\right)={P}_{3}\left(x\right)=\frac{1}{2}\left(5{x}^{3}-3x\right)\\ {P}_{3}^{1}\left(x\right)=\sqrt{1-{x}^{2}}\frac{d}{dx}{P}_{3}\left(x\right)=\frac{3}{2}\left(5{x}^{2}-1\right)\sqrt{\left(1-{x}^{2}\right)}\\ {P}_{3}^{2}\left(x\right)=\sqrt{{\left(1-{x}^{2}\right)}^{2}}\frac{{d}^{2}}{d{x}^{2}}{P}_{3}\left(x\right)=15x\left(1-{x}^{2}\right)\\ {P}_{3}^{3}\left(x\right)=\sqrt{{\left(1-{x}^{2}\right)}^{3}}\frac{{d}^{3}}{d{x}^{3}}{P}_{3}\left(x\right)=15{\left(1-{x}^{2}\right)}^{3/2}\end{array}$

syms x;
for n=0:4
for m=0:n
y=(1-x^2)^(m/2)*diff(legendreP(n,x),m);
disp([n,m])
y=simplify(y)
end
end
     0     0    y =1
1     0    y =x
1     1    y =(1 - x^2)^(1/2)
2     0    y =(3*x^2)/2 - 1/2
2     1    y =3*x*(1 - x^2)^(1/2)
2     2    y =3 - 3*x^2
3     0    y =(x*(5*x^2 - 3))/2
3     1    y =(1 - x^2)^(1/2)*((15*x^2)/2 - 3/2)
3     2    y =-15*x*(x^2 - 1)
3     3    y =15*(1 - x^2)^(3/2)
4     0    y =(35*x^4)/8 - (15*x^2)/4 + 3/8
4     1    y =(5*x*(1 - x^2)^(1/2)*(7*x^2 - 3))/2
4     2    y =-(x^2 - 1)*((105*x^2)/2 - 15/2)
4     3    y =105*x*(1 - x^2)^(3/2)
4     4    y =105*(x^2 - 1)^2

$\begin{array}{l}\underset{-1}{\overset{1}{\int }}{P}_{n}^{m}\left(x\right){P}_{k}^{m}\left(x\right)dx=0,\text{ }n\ne k\\ \underset{-1}{\overset{1}{\int }}{\left({P}_{n}^{m}\left(x\right)\right)}^{2}dx=\frac{2}{2n+1}\frac{\left(n+m\right)!}{\left(n-m\right)!}\end{array}$

Comprobamos la primera integral. Sea n=3, k=2 y m=2

>> syms x;
>> int(45*x*(1-x^2)^2,x,-1,1)
ans =0

Comprobamos la segunda integral. Sea n=3 y m=3

>> int(15^2*(1-x^2)^3,x,-1,1)
ans =1440/7
>> format rat
>> 2*factorial(6)/7
ans =    1440/7

## Ejemplos en el curso de Física

La ecuación de Laplace, coordenadas esféricas

Esfera conductora y esfera dieléctrica en un campo eléctrico uniforme

La ecuación de Laplace, varilla y semiesfera cargada

La ecuación de Laplace, anillo y disco cargado

Vibraciones de una cuerda en rotación