Legendre Polynomials
>:: L(x,n) := block ( if n=0 then 1 else if n=1 then x else ...
>:: ((2*n-1)*x*L(x,n-1)-(n-1)*L(x,n-2))/n)
L(x, n) := block(if n = 0 then 1
else (if n = 1 then x else ((2 n - 1) x L(x, n - 1)
- (n - 1) L(x, n - 2))/n))
>:: L(x,2)
2
3 x - 1
--------
2
>:: integrate(L(x,2)*L(x,1),x,-1,1)
0
>:: integrate(L(x,2)*L(x,0),x,-1,1)
0
>:: integrate(L(x,3)*L(x,2),x,-1,1)
0
>:: integrate(L(x,2)*L(x,2),x,-1,1)
2
-
5
>:: eq := -2*x*'diff(y,x)+(1-x^2)*'diff(y,x,2)+n*(n+1)*y=0
2
2 d y dy
(1 - x ) --- - 2 x -- + n (n + 1) y = 0
2 dx
dx
>:: eq | n=3, % | y=L(x,3), % | nouns | ratsimp
2
2 d y dy
(1 - x ) --- - 2 x -- + 12 y = 0
2 dx
dx
2
5 x (3 x - 1)
2 -------------- - 2 x
2 d 2
(1 - x ) (--- (--------------------))
2 3
dx
2
5 x (3 x - 1)
-------------- - 2 x 2
d 2 5 x (3 x - 1)
- 2 x (-- (--------------------)) + 4 (-------------- - 2 x) = 0
dx 3 2
0 = 0
>:: eq | n=2, ode2(%,y,x)
2
2 d y dy
(1 - x ) --- - 2 x -- + 6 y = 0
2 dx
dx
false
>:: L(x,n) := block( if n=0 then 1 else block([y:[1,x]], ..
>:: for i:2 thru n do y:[y[2],expand(((2*i-1)*x*y[2]-(i-1)*y[1])/i)], y[2]))
L(x, n) := block(if n = 0 then 1
else block([y : [1, x]], for i from 2 thru n
(2 i - 1) x y - (i - 1) y
2 1
do y : [y , expand(---------------------------)], y ))
2 i 2
>:: L(x,2) | ratsimp
2
3 x - 1
--------
2
>plot2d(mxm("L(x,20), expand"),-1,1); insimg;

>
Examples Homepage