Application Center - Maplesoft

App Preview:

Eigenvalue problems for ordinary differential operators

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

eigenval.mws

Eigenvalue problems for ordinary differential operators

by Aleksas Domarkas

Vilnius University, Faculty of Mathematics and Informatics,

Naugarduko 24, Vilnius, Lithuania

aleksas@ieva.mif.vu.lt

NOTE: In this session we solve eigenvalue problems for second order ordinary differential operators.

1. -y''= lambda*y

Problem

>    restart;

>    L:=-diff(y(x),x,x)=lambda*y(x);

L := -diff(y(x),`$`(x,2)) = lambda*y(x)

Please  input  number of examples  n (1..4) and     execute Section

>    n:=4;

n := 4

>    if n=1 then   s1:=y(a)=0; s2:=y(b)=0;

>    elif n=2 then s1:=D(y)(a)=0; s2:=y(b)=0;

>    elif n=3 then s1:=y(a)=0; s2:=D(y)(b)=0;

>    elif n=4 then s1:=D(y)(a)=0; s2:=D(y)(b)=0; end if;

s1 := D(y)(a) = 0

s2 := D(y)(b) = 0

>    assume(a<b);assume(k,posint); interface(showassumed=0):

Solving problem

>    assume(lambda>0);

>    dsolve(L,y(x));

y(x) = _C1*sin(sqrt(lambda)*x)+_C2*cos(sqrt(lambda)*x)

>    y :=unapply( rhs(%),x);

y := proc (x) options operator, arrow; _C1*sin(sqrt(lambda)*x)+_C2*cos(sqrt(lambda)*x) end proc

>    sist:={s1,s2};   

sist := {_C1*cos(sqrt(lambda)*b)*sqrt(lambda)-_C2*sin(sqrt(lambda)*b)*sqrt(lambda) = 0, _C1*cos(sqrt(lambda)*a)*sqrt(lambda)-_C2*sin(sqrt(lambda)*a)*sqrt(lambda) = 0}
sist := {_C1*cos(sqrt(lambda)*b)*sqrt(lambda)-_C2*sin(sqrt(lambda)*b)*sqrt(lambda) = 0, _C1*cos(sqrt(lambda)*a)*sqrt(lambda)-_C2*sin(sqrt(lambda)*a)*sqrt(lambda) = 0}

>    linalg[genmatrix](sist,{_C1,_C2});   

matrix([[cos(sqrt(lambda)*b)*sqrt(lambda), -sin(sqrt(lambda)*b)*sqrt(lambda)], [cos(sqrt(lambda)*a)*sqrt(lambda), -sin(sqrt(lambda)*a)*sqrt(lambda)]])

>    linalg[det](%);      

-cos(sqrt(lambda)*b)*lambda*sin(sqrt(lambda)*a)+sin(sqrt(lambda)*b)*lambda*cos(sqrt(lambda)*a)

>    combine(%);   

-lambda*sin(-sqrt(lambda)*b+sqrt(lambda)*a)

>    if type(%,function) then chl:=% else

>    chl:=select(has,%,[sin,cos]) end if;

chl := sin(-sqrt(lambda)*b+sqrt(lambda)*a)

>    _EnvAllSolutions := true:

>    solve(chl,lambda): sort(%);

Pi^2/(a-b)^2*_Z1^2

>     subs(1/(a-b)^2=1/(b-a)^2,%):sort(%,[b,a]);

Pi^2/(b-a)^2*_Z1^2

>    indets(%) minus {a,b};

{_Z1}

>    subs(%[1]='k',%%):

Eigenvalues:

>    ev:=unapply(%,'k');

ev := proc (k) options operator, arrow; Pi^2/(b-a)^2*k^2 end proc

>    y(x);

_C1*sin(sqrt(lambda)*x)+_C2*cos(sqrt(lambda)*x)

>    isolate(s1,_C1);

>    subs(%,lambda=ev(k),y(x)):

_C1 = _C2*sin(sqrt(lambda)*a)/cos(sqrt(lambda)*a)

>    simplify(combine(%));

_C2*cos(Pi*k*(-a+x)/(a-b))/cos(Pi*k/(a-b)*a)

>    select(has,%,x):
subs(a-b=b-a,-x+a=x-a,%): sort(%,[x,b,a]);

cos(Pi*k*(x-a)/(b-a))

>    %/sqrt(int(%^2,x=a..b)):sort(%,[x,b,a]);

2*cos(Pi*k*(x-a)/(b-a))/(2*b-2*a)^(1/2)

Eigenfunctions:

>    ef:=unapply(%,x,k);

ef := proc (x, k) options operator, arrow; 2*cos(Pi*k*(x-a)/(b-a))/(2*b-2*a)^(1/2) end proc

>    y:='y':

Example

>    cat(n,` EXAMPLE `); L, s1, s2;

>    lambda[k]=ev(k),y[k]=ef(x,k);

`4 EXAMPLE `

-diff(y(x),`$`(x,2)) = lambda*y(x), D(y)(a) = 0, D(y)(b) = 0

lambda[k] = Pi^2/(b-a)^2*k^2, y[k] = 2*cos(Pi*k*(x-a)/(b-a))/(2*b-2*a)^(1/2)

Checking the Solution

Checking  equation:

>    L;

>    subs(y(x)=ef(x,k),lambda=ev(k),L):

>    simplify(lhs(%)-rhs(%));

-diff(y(x),`$`(x,2)) = lambda*y(x)

0

Checking  boundary conditions:

>    s1,s2;

>    y:=unapply(ef(x,k),x):

>    s1,s2;

>    y:='y':

D(y)(a) = 0, D(y)(b) = 0

0 = 0, 0 = 0

>   

2.  -x^2*y''-y/4 = lambda*y

Problem

>    restart;

>    L:=-x^2*diff(y(x),x,x)-y(x)/4=lambda*y(x);

L := -x^2*diff(y(x),`$`(x,2))-1/4*y(x) = lambda*y(x)

>    s1:=y(a)=0;s2:=y(b)=0;

s1 := y(a) = 0

s2 := y(b) = 0

>    a:=1;b:=exp(1);

a := 1

b := exp(1)

Solving problem

>    assume(lambda>0);

>    dsolve(L,y(x));

y(x) = _C1*sqrt(x)*sin(sqrt(lambda)*ln(x))+_C2*sqrt(x)*cos(sqrt(lambda)*ln(x))

>    y :=unapply( rhs(%),x);

y := proc (x) options operator, arrow; _C1*sqrt(x)*sin(sqrt(lambda)*ln(x))+_C2*sqrt(x)*cos(sqrt(lambda)*ln(x)) end proc

>    sist:={s1,s2};   

sist := {_C2 = 0, _C1*sqrt(exp(1))*sin(sqrt(lambda))+_C2*sqrt(exp(1))*cos(sqrt(lambda)) = 0}

>    linalg[genmatrix](sist,{_C1,_C2});   

matrix([[1, 0], [sqrt(exp(1))*cos(sqrt(lambda)), sqrt(exp(1))*sin(sqrt(lambda))]])

>    linalg[det](%);      

sqrt(exp(1))*sin(sqrt(lambda))

>    combine(%);   

exp(1/2)*sin(sqrt(lambda))

>    if type(%,function) then chl:=% else

>    chl:=select(has,%,[sin,cos]) end if;

chl := sin(sqrt(lambda))

>    _EnvAllSolutions := true:

>    solve(chl,lambda);

Pi^2*_Z1^2

>    indets(%) minus {a,b};

{_Z1}

>    subs(%[1]='k',%%):

Eigenvalues:

>    ev:=unapply(%,'k');

ev := proc (k) options operator, arrow; Pi^2*k^2 end proc

>    y:='y':

>    lyg:=subs(lambda=ev(k),L);

lyg := -x^2*diff(y(x),`$`(x,2))-1/4*y(x) = Pi^2*k^2*y(x)

>    assume(k,posint);

>    dsolve({lyg,op(0,lhs(s1))(a)=0,op(0,lhs(s2))(b)=0},{y(x)});

y(x) = _C1*sqrt(x)*sin(Pi*k*ln(x))

>    subs(_C1=1,_C2=1,rhs(%));

sqrt(x)*sin(Pi*k*ln(x))

>    %/sqrt(int(%^2,x=a..b));

2*x^(1/2)*sin(Pi*k*ln(x))/Pi/k/((exp(2)-1)/(Pi^2*k^2+1))^(1/2)

Eigenfunctions:

>    ef:=unapply(%,x,k);

ef := proc (x, k) options operator, arrow; 2*x^(1/2)*sin(Pi*k*ln(x))/Pi/k/((exp(2)-1)/(Pi^2*k^2+1))^(1/2) end proc

>   

Solution

>    L, s1, s2;

>    lambda[k]=ev(k),y[k]=ef(x,k);

-x^2*diff(y(x),`$`(x,2))-1/4*y(x) = lambda*y(x), y(1) = 0, y(exp(1)) = 0

lambda[k] = Pi^2*k^2, y[k] = 2*x^(1/2)*sin(Pi*k*ln(x))/Pi/k/((exp(2)-1)/(Pi^2*k^2+1))^(1/2)

Checking the Solution

Checking  equation:

>    L;

>    subs(y(x)=ef(x,k),lambda=ev(k),L):

>    simplify(lhs(%)-rhs(%));

-x^2*diff(y(x),`$`(x,2))-1/4*y(x) = lambda*y(x)

0

Checking  boundary conditions:

>    s1,s2;

>    y:=unapply(ef(x,k),x):

>    s1,s2;

>    y:='y':

y(1) = 0, y(exp(1)) = 0

0 = 0, 0 = 0

>   

3.  -x^2*y''-x*y'=lambda*y

Problem

>    restart;

>    L := -x^2*diff(diff(y(x),x),x)-x*diff(y(x),x)=lambda*y(x);

L := -x^2*diff(y(x),`$`(x,2))-x*diff(y(x),x) = lambda*y(x)

>    s1:=y(a)=0;s2:=y(b)=0;assume(a>0,b>a):

s1 := y(a) = 0

s2 := y(b) = 0

>    #a:=1;b:=2;

Solving problem

>    assume(lambda>0);

>    dsolve(L,y(x));

y(x) = _C1*sin(sqrt(lambda)*ln(x))+_C2*cos(sqrt(lambda)*ln(x))

>    y :=unapply( rhs(%),x);

y := proc (x) options operator, arrow; _C1*sin(sqrt(lambda)*ln(x))+_C2*cos(sqrt(lambda)*ln(x)) end proc

>    sist:={s1,s2};   

sist := {_C1*sin(sqrt(lambda)*ln(a))+_C2*cos(sqrt(lambda)*ln(a)) = 0, _C1*sin(sqrt(lambda)*ln(b))+_C2*cos(sqrt(lambda)*ln(b)) = 0}

>    linalg[genmatrix](sist,{_C1,_C2});   

matrix([[sin(sqrt(lambda)*ln(a)), cos(sqrt(lambda)*ln(a))], [sin(sqrt(lambda)*ln(b)), cos(sqrt(lambda)*ln(b))]])

>    linalg[det](%);      

sin(sqrt(lambda)*ln(a))*cos(sqrt(lambda)*ln(b))-cos(sqrt(lambda)*ln(a))*sin(sqrt(lambda)*ln(b))

>    combine(%);   

sin(sqrt(lambda)*ln(a)-sqrt(lambda)*ln(b))

>    if type(%,function) then chl:=% else

>    chl:=select(has,%,[sin,cos]) end if;

chl := sin(sqrt(lambda)*ln(a)-sqrt(lambda)*ln(b))

>    _EnvAllSolutions := true:

>    solve(chl,lambda);

Pi^2*_Z1^2/(ln(a)-ln(b))^2

>    indets(%,symbol) minus {Pi,a,b};

{_Z1}

>    subs(%[1]=k,%%):

Eigenvalues:

>    ev:=unapply(%,k);

ev := proc (k) options operator, arrow; Pi^2*k^2/(ln(a)-ln(b))^2 end proc

>    y:='y':

>    lyg:=subs(lambda=ev(k),L);

lyg := -x^2*diff(y(x),`$`(x,2))-x*diff(y(x),x) = Pi^2*k^2/(ln(a)-ln(b))^2*y(x)

>    assume(k,posint);

>    tr:=x=expand(exp(t*(ln(b)-ln(a))+ln(a)));

tr := x = b^t/(a^t)*a

>    _EnvAllSolutions := false:

>    itr:=solve(tr,{t});

itr := {t = -ln(x/a)/(ln(a)-ln(b))}

>    PDEtools[dchange](tr,lyg,params=[a,b],simplify);

-diff(y(t),`$`(t,2))/(ln(a)-ln(b))^2 = Pi^2*k^2/(ln(a)-ln(b))^2*y(t)

>    dsolve({%,y(0)=0,y(1)=0},y(t));

y(t) = _C1*sin(Pi*k*t)

>    subs(itr,_C1=1,_C2=1,rhs(%));

sin(-Pi*k*ln(x/a)/(ln(a)-ln(b)))

Eigenfunctions(not normed):

>    ef:=unapply(%,x,k);

ef := proc (x, k) options operator, arrow; -sin(Pi*k*ln(x/a)/(ln(a)-ln(b))) end proc

>   

Solution

>    L, s1, s2;

>    lambda[k]=ev(k),y[k]=ef(x,k);

-x^2*diff(y(x),`$`(x,2))-x*diff(y(x),x) = lambda*y(x), y(a) = 0, y(b) = 0

lambda[k] = Pi^2*k^2/(ln(a)-ln(b))^2, y[k] = -sin(Pi*k*ln(x/a)/(ln(a)-ln(b)))

Checking the Solution

Checking  equation:

>    L;

>    subs(y(x)=ef(x,k),lambda=ev(k),L):

>    simplify(lhs(%)-rhs(%));

-x^2*diff(y(x),`$`(x,2))-x*diff(y(x),x) = lambda*y(x)

0

Checking  boundary conditions:

>    s1,s2;

>    y:=unapply(ef(x,k),x):

>    s1,simplify(s2);

>    y:='y':

y(a) = 0, y(b) = 0

0 = 0, 0 = 0

>   

4.  -y''-2*y'=lambda*y

Problem

>    restart;

>    L := -diff(diff(y(x),x),x)-2*diff(y(x),x)=lambda*y(x);

L := -diff(y(x),`$`(x,2))-2*diff(y(x),x) = lambda*y(x)

>    s1:=y(a)=0;s2:=y(b)=0;

s1 := y(a) = 0

s2 := y(b) = 0

>    a:=1;b:=2;

a := 1

b := 2

Solving problem

>    assume(lambda>1);

>    dsolve(L,y(x));

y(x) = _C1*exp(-x)*sin(sqrt(lambda-1)*x)+_C2*exp(-x)*cos(sqrt(lambda-1)*x)

>    y :=unapply( rhs(%),x);

y := proc (x) options operator, arrow; _C1*exp(-x)*sin(sqrt(lambda-1)*x)+_C2*exp(-x)*cos(sqrt(lambda-1)*x) end proc

>    sist:={s1,s2};   

sist := {_C1*exp(-2)*sin(2*sqrt(lambda-1))+_C2*exp(-2)*cos(2*sqrt(lambda-1)) = 0, _C1*exp(-1)*sin(sqrt(lambda-1))+_C2*exp(-1)*cos(sqrt(lambda-1)) = 0}
sist := {_C1*exp(-2)*sin(2*sqrt(lambda-1))+_C2*exp(-2)*cos(2*sqrt(lambda-1)) = 0, _C1*exp(-1)*sin(sqrt(lambda-1))+_C2*exp(-1)*cos(sqrt(lambda-1)) = 0}

>    linalg[genmatrix](sist,{_C1,_C2});   

matrix([[exp(-2)*sin(2*sqrt(lambda-1)), exp(-2)*cos(2*sqrt(lambda-1))], [exp(-1)*sin(sqrt(lambda-1)), exp(-1)*cos(sqrt(lambda-1))]])

>    r:=linalg[det](%);      

r := exp(-2)*sin(2*sqrt(lambda-1))*exp(-1)*cos(sqrt(lambda-1))-exp(-2)*cos(2*sqrt(lambda-1))*exp(-1)*sin(sqrt(lambda-1))

>    chl:=combine(%);

chl := exp(-3)*sin(sqrt(lambda-1))

>    _EnvAllSolutions := true:

>    solve(chl,lambda);

1+Pi^2*_Z1^2

>    indets(%,symbol) minus {Pi,a,b};

{_Z1}

>    subs(%[1]=k,%%):

Eigenvalues:

>    ev:=unapply(%,k);

ev := proc (k) options operator, arrow; 1+Pi^2*k^2 end proc

>    y:='y':

>    lyg:=subs(lambda=ev(k),L);

lyg := -diff(y(x),`$`(x,2))-2*diff(y(x),x) = (1+Pi^2*k^2)*y(x)

>    assume(k,posint);

>    dsolve({lyg,y(a)=0,y(b)=0},y(x));

y(x) = _C1*exp(-x)*sin(Pi*k*x)

>    subs(_C1=1,_C2=1,rhs(%));

exp(-x)*sin(Pi*k*x)

>    simplify(%/sqrt(int(%^2,x=a..b)));

2*exp(-x+1)*sin(Pi*k*x)/Pi/k*(1+Pi^2*k^2)^(1/2)/(-exp(-2)+1)^(1/2)

Eigenfunctions:

>    ef:=unapply(%,x,k);

ef := proc (x, k) options operator, arrow; 2*exp(-x+1)*sin(Pi*k*x)/Pi/k*(1+Pi^2*k^2)^(1/2)/(-exp(-2)+1)^(1/2) end proc

>   

Solution

>    L, s1, s2;

>    lambda[k]=ev(k),y[k]=ef(x,k);

-diff(y(x),`$`(x,2))-2*diff(y(x),x) = lambda*y(x), y(1) = 0, y(2) = 0

lambda[k] = 1+Pi^2*k^2, y[k] = 2*exp(-x+1)*sin(Pi*k*x)/Pi/k*(1+Pi^2*k^2)^(1/2)/(-exp(-2)+1)^(1/2)

>   

Checking the Solution

Checking  equation:

>    L;

>    subs(y(x)=ef(x,k),lambda=ev(k),L):

>    simplify(lhs(%)-rhs(%));

-diff(y(x),`$`(x,2))-2*diff(y(x),x) = lambda*y(x)

0

Checking  boundary conditions:

>    s1,s2;

>    y:=unapply(ef(x,k),x):

>    simplify(s1),simplify(s2);

>    y:='y':

y(1) = 0, y(2) = 0

0 = 0, 0 = 0

>   

5.   -y''-y'/x=lambda*y (Bessel functions)

Problem

>    restart;

>    eq:=-diff(y(x),x,x)-diff(y(x),x)/x=lambda*y(x);

eq := -diff(y(x),`$`(x,2))-diff(y(x),x)/x = lambda*y(x)

>    abs(y(0))<infinity,D(y)(R)=0;

abs(y(0)) < infinity, D(y)(R) = 0

>    assume(R>0);

>   

Solving problem

>    Order:=10:Digits:=20:

>    sol:=dsolve({eq,y(0)<infinity},y(x));

sol := y(x) = _C1*BesselJ(0,sqrt(lambda)*x)

>    cheq:=subs(x=R,diff(rhs(sol),x));

cheq := -_C1*BesselJ(1,sqrt(lambda)*R)*sqrt(lambda)

>    solve(cheq,lambda);

0, RootOf(BesselJ(1,_Z*R))^2

>    mu:=[BesselJZeros(1.,0..Order)];

mu := [0, 3.8317059702075123156, 7.0155866698156187535, 10.173468135062722077, 13.323691936314223032, 16.470630050877632813, 19.615858510468242021, 22.760084380592771898, 25.903672087618382625, 29.0468...
mu := [0, 3.8317059702075123156, 7.0155866698156187535, 10.173468135062722077, 13.323691936314223032, 16.470630050877632813, 19.615858510468242021, 22.760084380592771898, 25.903672087618382625, 29.0468...
mu := [0, 3.8317059702075123156, 7.0155866698156187535, 10.173468135062722077, 13.323691936314223032, 16.470630050877632813, 19.615858510468242021, 22.760084380592771898, 25.903672087618382625, 29.0468...

>    #plot(BesselJ(1,x),x=0..20);

Eigenvalues:

>    ev:=[seq(solve(sqrt(lambda)*R=mu[k],lambda),k=1..Order)];

ev := [0, 14.681970642123893257*1/(R^2), 49.218456321694603670*1/(R^2), 103.49945389513658033*1/(R^2), 177.52076681380464985*1/(R^2), 271.28165427287333327*1/(R^2), 384.78190510270935856*1/(R^2), 518.0...
ev := [0, 14.681970642123893257*1/(R^2), 49.218456321694603670*1/(R^2), 103.49945389513658033*1/(R^2), 177.52076681380464985*1/(R^2), 271.28165427287333327*1/(R^2), 384.78190510270935856*1/(R^2), 518.0...
ev := [0, 14.681970642123893257*1/(R^2), 49.218456321694603670*1/(R^2), 103.49945389513658033*1/(R^2), 177.52076681380464985*1/(R^2), 271.28165427287333327*1/(R^2), 384.78190510270935856*1/(R^2), 518.0...

Eigenfunctions:

>    ef:=[seq(simplify(subs(lambda=ev[k],y(0)=1,rhs(sol))),k=1..Order)];

ef := [_C1, _C1*BesselJ(0.,3.8317059702075123156/R*x), _C1*BesselJ(0.,7.0155866698156187535/R*x), _C1*BesselJ(0.,10.173468135062722077/R*x), _C1*BesselJ(0.,13.323691936314223032/R*x), _C1*BesselJ(0.,16...
ef := [_C1, _C1*BesselJ(0.,3.8317059702075123156/R*x), _C1*BesselJ(0.,7.0155866698156187535/R*x), _C1*BesselJ(0.,10.173468135062722077/R*x), _C1*BesselJ(0.,13.323691936314223032/R*x), _C1*BesselJ(0.,16...
ef := [_C1, _C1*BesselJ(0.,3.8317059702075123156/R*x), _C1*BesselJ(0.,7.0155866698156187535/R*x), _C1*BesselJ(0.,10.173468135062722077/R*x), _C1*BesselJ(0.,13.323691936314223032/R*x), _C1*BesselJ(0.,16...
ef := [_C1, _C1*BesselJ(0.,3.8317059702075123156/R*x), _C1*BesselJ(0.,7.0155866698156187535/R*x), _C1*BesselJ(0.,10.173468135062722077/R*x), _C1*BesselJ(0.,13.323691936314223032/R*x), _C1*BesselJ(0.,16...
ef := [_C1, _C1*BesselJ(0.,3.8317059702075123156/R*x), _C1*BesselJ(0.,7.0155866698156187535/R*x), _C1*BesselJ(0.,10.173468135062722077/R*x), _C1*BesselJ(0.,13.323691936314223032/R*x), _C1*BesselJ(0.,16...

Solution

>    for k to Order do print(lambda[k]=ev[k],y[k]=ef[k]) od;

lambda[1] = 0, y[1] = _C1

lambda[2] = 14.681970642123893257*1/(R^2), y[2] = _C1*BesselJ(0.,3.8317059702075123156/R*x)

lambda[3] = 49.218456321694603670*1/(R^2), y[3] = _C1*BesselJ(0.,7.0155866698156187535/R*x)

lambda[4] = 103.49945389513658033*1/(R^2), y[4] = _C1*BesselJ(0.,10.173468135062722077/R*x)

lambda[5] = 177.52076681380464985*1/(R^2), y[5] = _C1*BesselJ(0.,13.323691936314223032/R*x)

lambda[6] = 271.28165427287333327*1/(R^2), y[6] = _C1*BesselJ(0.,16.470630050877632813/R*x)

lambda[7] = 384.78190510270935856*1/(R^2), y[7] = _C1*BesselJ(0.,19.615858510468242021/R*x)

lambda[8] = 518.02144101170306123*1/(R^2), y[8] = _C1*BesselJ(0.,22.760084380592771898/R*x)

lambda[9] = 671.00022762285969705*1/(R^2), y[9] = _C1*BesselJ(0.,25.903672087618382625/R*x)

lambda[10] = 843.71824793686005300*1/(R^2), y[10] = _C1*BesselJ(0.,29.046828534916855067/R*x)

Checking

Checking  equation:

>    for k to Order do

>    expand(simplify(subs(lambda=ev[k],y(x)=ef[k],lhs(eq)-rhs(eq))));

>    od;

0

-0.

-.40000000000000000000e-18*_C1*BesselJ(1.,7.0155866698156187535/R*x)/R/x

-0.

-0.

-.40000000000000000000e-17*_C1*BesselJ(1.,16.470630050877632813/R*x)/R/x

.32000000000000000000e-17*_C1*BesselJ(1.,19.615858510468242021/R*x)/R/x

-0.

-0.

-0.

Checking  boundary condition:

>    for k to Order do expand(subs(x=R,diff(ef[k],x))) od;

0

-.22348669514939815568e-19*_C1/R

.77892469533591594034e-19*_C1/R

-.47239574856865680529e-18*_C1/R

.11447631754888013502e-17*_C1/R

.14484031685528746305e-17*_C1/R

.44211837328057986400e-18*_C1/R

-.19975955652563936198e-18*_C1/R

.20114027979262812897e-17*_C1/R

.15143493362935259887e-17*_C1/R

>   

6. Gegenbauer (ultraspherical) polynomials G(n,a,x)

Problem

>    restart;with(orthopoly):

>    eq := -(1-x^2)*diff(y(x),x,x)+(2*a+1)*x*diff(y(x),x)=lambda*y(x);

eq := -(1-x^2)*diff(y(x),`$`(x,2))+(2*a+1)*x*diff(y(x),x) = lambda*y(x)

>    abs(y(-1))<infinity,abs(y(1))<infinity;

abs(y(-1)) < infinity, abs(y(1)) < infinity

Solving problem

Eigenfunctions we search in polynomials  f,   f(1) = binomial(n+2*a-1,n)  .

>    Geg:=proc(n::nonnegint,a)
local f,m,id,eq,cf,koef,F,K;
eq := (1-x^2)*diff(y(x),x,x)-(2*a+1)*x*diff(y(x),x)+lambda*y(x) = 0;
f:=binomial(n+2*a-1,n)+sum('A[k]*x^k','k'=0..n-1)*(x-1);
subs(y(x)=f,eq);
id:=expand(lhs(%)-rhs(%))=0;
K:=indets(id) minus {x};
koef:=solve(identity(id,x),K);
m:=nops([koef]);
F:=(a,b)->evalb(degree(subs(a,f))>degree(subs(b,f)));
cf:=sort([koef],F);
RETURN([subs(cf[1],lambda),sort(expand(subs(cf[1],f)))]);
end:

Solution

 We assign   a   for example :

>    a:=1/2:

>    for k from 0 to Order do lambda[k]=Geg(k,a)[1],
y[k]=Geg(k,a)[2]; end do;

lambda[0] = 0, y[0] = 1

lambda[1] = 2, y[1] = x

lambda[2] = 6, y[2] = 3/2*x^2-1/2

lambda[3] = 12, y[3] = 5/2*x^3-3/2*x

lambda[4] = 20, y[4] = 35/8*x^4-15/4*x^2+3/8

lambda[5] = 30, y[5] = 63/8*x^5-35/4*x^3+15/8*x

lambda[6] = 42, y[6] = 231/16*x^6-315/16*x^4+105/16*x^2-5/16

Eigenfunctions is Gegenbauer    polynomials:

>    seq(orthopoly[G](k,a,x),k=0..Order);

1, x, 3/2*x^2-1/2, 5/2*x^3-3/2*x, 35/8*x^4-15/4*x^2+3/8, 63/8*x^5-35/4*x^3+15/8*x, 231/16*x^6-315/16*x^4+105/16*x^2-5/16

and    lambda[n] = n*(2*a+n)  :

>    seq(n*(2*a+n),n=0..Order);

0, 2, 6, 12, 20, 30, 42

Checking the Solution

>    seq(simplify(subs(y(x)=orthopoly[G](k,a,x),
lambda=k*(2*a+k),lhs(eq)-rhs(eq))),k=0..Order);

0, 0, 0, 0, 0, 0, 0

>   

Other relations

1. Generating function for Gegenbauer polynomials  is   (1-2*s*x+s^2)^(-a)

>    map(simplify,series((1-2*s*x+s^2)^(-a),s));

series(1+x*s+(3/2*x^2-1/2)*s^2+(5/2*x^3-3/2*x)*s^3+(35/8*x^4-15/4*x^2+3/8)*s^4+(63/8*x^5-35/4*x^3+15/8*x)*s^5+O(s^6),s,6)

2.

G(n,x,a) = binomial(n+2*a-1,n)*hypergeom([n+2*a, -n],[a+1/2],(1-x)/2)

>    seq(simplify(binomial(n+2*a-1,n)*hypergeom([n+2*a,-n],[a+1/2],(1-x)/2)),
n=0..Order-1);

1, x, 3/2*x^2-1/2, 5/2*x^3-3/2*x, 35/8*x^4-15/4*x^2+3/8, 63/8*x^5-35/4*x^3+15/8*x

>   

7. Hermite polynomials  H(n,x)

Problem

>    restart;with(orthopoly,H,T):

>    eq := -diff(y(x),x,x)+2*x*diff(y(x),x)=lambda*y(x);

eq := -diff(y(x),`$`(x,2))+2*x*diff(y(x),x) = lambda*y(x)

>    abs(y(0))<infinity;

abs(y(0)) < infinity

>   

Solving problem

Eigenfunctions we search in polynomials  f,   f(x) = 2^n*x^n+A[n-1]*x^(n-1) + ...    .

>    Her:=proc(n::nonnegint)
local f,id,K;
global eq;
f:=2^n*x^n+sum('A[k]*x^k','k'=0..n-1);
subs(y(x)=f,eq);
id:=expand(lhs(%)-rhs(%))=0;
K:=indets(id) minus {x};
solve(identity(id,x),K);
subs(%,f);
RETURN([subs(%%,lambda),sort(%)]);
end:

>    seq(Her(i),i=0..Order);

[0, 1], [2, 2*x], [4, 4*x^2-2], [6, 8*x^3-12*x], [8, 16*x^4-48*x^2+12], [10, 32*x^5-160*x^3+120*x], [12, 64*x^6-480*x^4+720*x^2-120]
[0, 1], [2, 2*x], [4, 4*x^2-2], [6, 8*x^3-12*x], [8, 16*x^4-48*x^2+12], [10, 32*x^5-160*x^3+120*x], [12, 64*x^6-480*x^4+720*x^2-120]

Solution

>    for k from 0 to Order do lambda[k]=Her(k)[1],
y[k]=Her(k)[2]; end do;

lambda[0] = 0, y[0] = 1

lambda[1] = 2, y[1] = 2*x

lambda[2] = 4, y[2] = 4*x^2-2

lambda[3] = 6, y[3] = 8*x^3-12*x

lambda[4] = 8, y[4] = 16*x^4-48*x^2+12

lambda[5] = 10, y[5] = 32*x^5-160*x^3+120*x

lambda[6] = 12, y[6] = 64*x^6-480*x^4+720*x^2-120

Eigenfunctions is Hermite  polynomials:

>    seq(orthopoly[H](k,x),k=0..Order);

1, 2*x, 4*x^2-2, 8*x^3-12*x, 16*x^4-48*x^2+12, 32*x^5-160*x^3+120*x, 64*x^6-480*x^4+720*x^2-120

and    lambda[n] = 2*n  :

>    seq(2*n,n=0..Order);

0, 2, 4, 6, 8, 10, 12

>    k:='k':

Checking the Solution

>    seq(expand(value(subs(y(x)=orthopoly[H](k,x),
lambda=2*k,lhs(eq)-rhs(eq)))),k=0..Order);

0, 0, 0, 0, 0, 0, 0

Other relations

1.

  exp(-t^2+2*t*x) = Sum(H(k,x)*t^k/k!,k = 0 .. infinity)  :

Checking :

>    convert(series(exp(-t^2+2*t*x),t),polynom):

>    sum(H(k,x)*t^k/k!,k = 0 .. Order-1):

>    simplify(%-%%);

0

2.

H(2*n,x) = (-1)^n*(2*n)!/n!*hypergeom([-n],[1/2],x^2)

H(2*n+1) = (-1)^n*(2*n+1)!*2/n!*x*hypergeom([-n],[3/2],x^2)

Checking :

>    simplify([seq((-1)^n*(2*n)!/n!*hypergeom([-n],[1/2],x^2)-H(2*n,x),
n=0..Order)]);

>    simplify([seq((-1)^n*(2*n+1)!*2/n!*x*hypergeom([-n],[3/2],x^2)-H(2*n+1,x),
n=0..Order)]);

[0, 0, 0, 0, 0, 0, 0]

[0, 0, 0, 0, 0, 0, 0]

3. If  x>=0 then

H(n,x) = 2^n*KummerU(-n/2,1/2,x^2)

Checking :

>    seq(expand(2^n*KummerU(-n/2,1/2,x^2)),n=0..4):

>    plot([%],x=0..3,y=-20..20);

>    seq(H(n,x),n=0..4):

>    plot([%],x=0..3,y=-20..20);

[Maple Plot]

[Maple Plot]

>   

8.   Laguerre polynomials L(n,x)

Problem

>    restart;with(orthopoly):

>    eq := -x*diff(y(x),x,x)+(x-1)*diff(y(x),x)=lambda*y(x);

eq := -x*diff(y(x),`$`(x,2))+(x-1)*diff(y(x),x) = lambda*y(x)

>    abs(y(0))<infinity;

abs(y(0)) < infinity

Solving problem

Eigenfunctions we search in polynomials  f,   f(0) = 1 .

>    n:=Order;

n := 6

>    f:=1-sum(A[k]*x^k,k=0..n-1)*x;

f := 1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*x

>    subs(y(x)=f,eq);

-x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*x,`$`(x,2))+(x-1)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*x,x) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)...
-x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*x,`$`(x,2))+(x-1)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*x,x) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)...
-x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*x,`$`(x,2))+(x-1)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*x,x) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)...

>    id:=expand(lhs(%)-rhs(%))=0;

id := 9*A[2]*x^2+16*A[3]*x^3+25*A[4]*x^4+36*A[5]*x^5+4*A[1]*x-2*A[1]*x^2-3*A[2]*x^3-4*A[3]*x^4-5*A[4]*x^5-6*A[5]*x^6-x*A[0]+A[0]-lambda+lambda*x*A[0]+lambda*A[1]*x^2+lambda*A[2]*x^3+lambda*A[3]*x^4+lam...
id := 9*A[2]*x^2+16*A[3]*x^3+25*A[4]*x^4+36*A[5]*x^5+4*A[1]*x-2*A[1]*x^2-3*A[2]*x^3-4*A[3]*x^4-5*A[4]*x^5-6*A[5]*x^6-x*A[0]+A[0]-lambda+lambda*x*A[0]+lambda*A[1]*x^2+lambda*A[2]*x^3+lambda*A[3]*x^4+lam...

>    K:=indets(id) minus {x};

K := {lambda, A[2], A[3], A[4], A[5], A[0], A[1]}

>    koef:=solve(identity(id,x),K);

koef := {A[2] = 1/6, A[3] = 0, A[1] = -3/2, lambda = 3, A[4] = 0, A[0] = 3, A[5] = 0}, {A[1] = -3, A[2] = 2/3, lambda = 4, A[4] = 0, A[3] = -1/24, A[0] = 4, A[5] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, ...
koef := {A[2] = 1/6, A[3] = 0, A[1] = -3/2, lambda = 3, A[4] = 0, A[0] = 3, A[5] = 0}, {A[1] = -3, A[2] = 2/3, lambda = 4, A[4] = 0, A[3] = -1/24, A[0] = 4, A[5] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, ...
koef := {A[2] = 1/6, A[3] = 0, A[1] = -3/2, lambda = 3, A[4] = 0, A[0] = 3, A[5] = 0}, {A[1] = -3, A[2] = 2/3, lambda = 4, A[4] = 0, A[3] = -1/24, A[0] = 4, A[5] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, ...
koef := {A[2] = 1/6, A[3] = 0, A[1] = -3/2, lambda = 3, A[4] = 0, A[0] = 3, A[5] = 0}, {A[1] = -3, A[2] = 2/3, lambda = 4, A[4] = 0, A[3] = -1/24, A[0] = 4, A[5] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, ...
koef := {A[2] = 1/6, A[3] = 0, A[1] = -3/2, lambda = 3, A[4] = 0, A[0] = 3, A[5] = 0}, {A[1] = -3, A[2] = 2/3, lambda = 4, A[4] = 0, A[3] = -1/24, A[0] = 4, A[5] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, ...
koef := {A[2] = 1/6, A[3] = 0, A[1] = -3/2, lambda = 3, A[4] = 0, A[0] = 3, A[5] = 0}, {A[1] = -3, A[2] = 2/3, lambda = 4, A[4] = 0, A[3] = -1/24, A[0] = 4, A[5] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, ...
koef := {A[2] = 1/6, A[3] = 0, A[1] = -3/2, lambda = 3, A[4] = 0, A[0] = 3, A[5] = 0}, {A[1] = -3, A[2] = 2/3, lambda = 4, A[4] = 0, A[3] = -1/24, A[0] = 4, A[5] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, ...

>    m:=nops([koef]);

m := 7

>    F:=(a,b)->evalb(degree(subs(a,f))<degree(subs(b,f)));

F := proc (a, b) options operator, arrow; evalb(degree(subs(a,f)) < degree(subs(b,f))) end proc

>    cf:=sort([koef],F);

cf := [{A[3] = 0, lambda = 0, A[4] = 0, A[0] = 0, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, A[0] = 1, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 2, A[3] = 0, A[4] = 0, A[0] = 2, A[5...
cf := [{A[3] = 0, lambda = 0, A[4] = 0, A[0] = 0, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, A[0] = 1, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 2, A[3] = 0, A[4] = 0, A[0] = 2, A[5...
cf := [{A[3] = 0, lambda = 0, A[4] = 0, A[0] = 0, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, A[0] = 1, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 2, A[3] = 0, A[4] = 0, A[0] = 2, A[5...
cf := [{A[3] = 0, lambda = 0, A[4] = 0, A[0] = 0, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, A[0] = 1, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 2, A[3] = 0, A[4] = 0, A[0] = 2, A[5...
cf := [{A[3] = 0, lambda = 0, A[4] = 0, A[0] = 0, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, A[0] = 1, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 2, A[3] = 0, A[4] = 0, A[0] = 2, A[5...
cf := [{A[3] = 0, lambda = 0, A[4] = 0, A[0] = 0, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, A[0] = 1, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 2, A[3] = 0, A[4] = 0, A[0] = 2, A[5...
cf := [{A[3] = 0, lambda = 0, A[4] = 0, A[0] = 0, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 1, A[3] = 0, A[4] = 0, A[0] = 1, A[5] = 0, A[1] = 0, A[2] = 0}, {lambda = 2, A[3] = 0, A[4] = 0, A[0] = 2, A[5...

>   

Solution

>    for k to m do lambda[k-1]=subs(cf[k],lambda),
y[k-1]=simplify(subs(cf[k],f)) od;

lambda[0] = 0, y[0] = 1

lambda[1] = 1, y[1] = 1-x

lambda[2] = 2, y[2] = 1-2*x+1/2*x^2

lambda[3] = 3, y[3] = 1-3*x+3/2*x^2-1/6*x^3

lambda[4] = 4, y[4] = 1-4*x+3*x^2-2/3*x^3+1/24*x^4

lambda[5] = 5, y[5] = 1-5*x+5*x^2-5/3*x^3+5/24*x^4-1/120*x^5

lambda[6] = 6, y[6] = 1-6*x+15/2*x^2-10/3*x^3+5/8*x^4-1/20*x^5+1/720*x^6

Eigenfunctions is Laguerre    polynomials:

>    seq(orthopoly[L](k,x),k=0..Order);

1, 1-x, 1-2*x+1/2*x^2, 1-3*x+3/2*x^2-1/6*x^3, 1-4*x+3*x^2-2/3*x^3+1/24*x^4, 1-5*x+5*x^2-5/3*x^3+5/24*x^4-1/120*x^5, 1-6*x+15/2*x^2-10/3*x^3+5/8*x^4-1/20*x^5+1/720*x^6
1, 1-x, 1-2*x+1/2*x^2, 1-3*x+3/2*x^2-1/6*x^3, 1-4*x+3*x^2-2/3*x^3+1/24*x^4, 1-5*x+5*x^2-5/3*x^3+5/24*x^4-1/120*x^5, 1-6*x+15/2*x^2-10/3*x^3+5/8*x^4-1/20*x^5+1/720*x^6

and    lambda[n] = n  :

>    seq(n,n=0..Order);

0, 1, 2, 3, 4, 5, 6

>    k:='k':

Tes t

>    seq(simplify(value(subs(y(x)=orthopoly[L](k,x),
lambda=k,lhs(eq)-rhs(eq)))),k=0..Order);

0, 0, 0, 0, 0, 0, 0

>   

Other relations

1.

exp(-x*t/(1-t))/(1-t) = Sum(L(k,x)*t^k,k = 0 .. infinity)

Checking :

>    convert(series(exp(-x*t/(1-t))/(1-t),t),polynom):

>    sum(L(k,x)*t^k,k = 0 .. Order-1):

>    simplify(%-%%);

0

2.

L(n,x) = hypergeom([-n],[1],x)  :

Checking :

>    seq(simplify(hypergeom([-n],[1],x)-L(n,x)),n=0..Order);

0, 0, 0, 0, 0, 0, 0

>   

9. Legendre polynomials P(n,x)

Problem

>    restart;with(orthopoly):

>    eq := -diff((1-x^2)*diff(y(x),x),x)=lambda*y(x);

eq := 2*x*diff(y(x),x)-(1-x^2)*diff(y(x),`$`(x,2)) = lambda*y(x)

>    abs(y(-1))<infinity, abs(y(1))<infinity;

abs(y(-1)) < infinity, abs(y(1)) < infinity

Solving problem

Eigenfunctions we search in polynomials  f,   f(1) = 1 .

>    n:=Order;

n := 6

>    f:=1-sum(A[k]*x^k,k=0..n-1)*(x-1);

f := 1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1)

>    subs(y(x)=f,eq);

2*x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),x)-(1-x^2)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),`$`(x,2)) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^...
2*x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),x)-(1-x^2)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),`$`(x,2)) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^...
2*x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),x)-(1-x^2)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),`$`(x,2)) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^...

>    T:=expand(lhs(%)-rhs(%))=0;

T := 6*A[2]*x^2+12*A[3]*x^3+20*A[4]*x^4+30*A[5]*x^5+2*A[1]*x+6*A[2]*x+12*A[3]*x^2+20*A[4]*x^3+30*A[5]*x^4-6*A[3]*x-12*A[4]*x^2-20*A[5]*x^3+lambda*x*A[0]+lambda*A[1]*x^2-lambda*A[1]*x+lambda*A[2]*x^3-la...
T := 6*A[2]*x^2+12*A[3]*x^3+20*A[4]*x^4+30*A[5]*x^5+2*A[1]*x+6*A[2]*x+12*A[3]*x^2+20*A[4]*x^3+30*A[5]*x^4-6*A[3]*x-12*A[4]*x^2-20*A[5]*x^3+lambda*x*A[0]+lambda*A[1]*x^2-lambda*A[1]*x+lambda*A[2]*x^3-la...
T := 6*A[2]*x^2+12*A[3]*x^3+20*A[4]*x^4+30*A[5]*x^5+2*A[1]*x+6*A[2]*x+12*A[3]*x^2+20*A[4]*x^3+30*A[5]*x^4-6*A[3]*x-12*A[4]*x^2-20*A[5]*x^3+lambda*x*A[0]+lambda*A[1]*x^2-lambda*A[1]*x+lambda*A[2]*x^3-la...
T := 6*A[2]*x^2+12*A[3]*x^3+20*A[4]*x^4+30*A[5]*x^5+2*A[1]*x+6*A[2]*x+12*A[3]*x^2+20*A[4]*x^3+30*A[5]*x^4-6*A[3]*x-12*A[4]*x^2-20*A[5]*x^3+lambda*x*A[0]+lambda*A[1]*x^2-lambda*A[1]*x+lambda*A[2]*x^3-la...

>    K:=indets(T) minus {x};

K := {A[2], A[3], A[4], A[5], A[0], A[1], lambda}

>    koef:=solve(identity(T,x),K);

koef := {A[0] = -1, A[1] = -5/2, lambda = 12, A[3] = 0, A[4] = 0, A[5] = 0, A[2] = -5/2}, {lambda = 42, A[2] = 21/4, A[0] = -21/16, A[1] = -21/16, A[3] = 21/4, A[4] = -231/16, A[5] = -231/16}, {A[2] = ...
koef := {A[0] = -1, A[1] = -5/2, lambda = 12, A[3] = 0, A[4] = 0, A[5] = 0, A[2] = -5/2}, {lambda = 42, A[2] = 21/4, A[0] = -21/16, A[1] = -21/16, A[3] = 21/4, A[4] = -231/16, A[5] = -231/16}, {A[2] = ...
koef := {A[0] = -1, A[1] = -5/2, lambda = 12, A[3] = 0, A[4] = 0, A[5] = 0, A[2] = -5/2}, {lambda = 42, A[2] = 21/4, A[0] = -21/16, A[1] = -21/16, A[3] = 21/4, A[4] = -231/16, A[5] = -231/16}, {A[2] = ...
koef := {A[0] = -1, A[1] = -5/2, lambda = 12, A[3] = 0, A[4] = 0, A[5] = 0, A[2] = -5/2}, {lambda = 42, A[2] = 21/4, A[0] = -21/16, A[1] = -21/16, A[3] = 21/4, A[4] = -231/16, A[5] = -231/16}, {A[2] = ...
koef := {A[0] = -1, A[1] = -5/2, lambda = 12, A[3] = 0, A[4] = 0, A[5] = 0, A[2] = -5/2}, {lambda = 42, A[2] = 21/4, A[0] = -21/16, A[1] = -21/16, A[3] = 21/4, A[4] = -231/16, A[5] = -231/16}, {A[2] = ...
koef := {A[0] = -1, A[1] = -5/2, lambda = 12, A[3] = 0, A[4] = 0, A[5] = 0, A[2] = -5/2}, {lambda = 42, A[2] = 21/4, A[0] = -21/16, A[1] = -21/16, A[3] = 21/4, A[4] = -231/16, A[5] = -231/16}, {A[2] = ...
koef := {A[0] = -1, A[1] = -5/2, lambda = 12, A[3] = 0, A[4] = 0, A[5] = 0, A[2] = -5/2}, {lambda = 42, A[2] = 21/4, A[0] = -21/16, A[1] = -21/16, A[3] = 21/4, A[4] = -231/16, A[5] = -231/16}, {A[2] = ...

>    m:=nops([koef]);

m := 7

>    F:=(a,b)->evalb(degree(subs(a,f))<degree(subs(b,f)));

F := proc (a, b) options operator, arrow; evalb(degree(subs(a,f)) < degree(subs(b,f))) end proc

>    cf:=sort([koef],F);

cf := [{A[2] = 0, A[0] = 0, lambda = 0, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[0] = -1, lambda = 2, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[1] = -3/2, A[0] = -3/2, lambda =...
cf := [{A[2] = 0, A[0] = 0, lambda = 0, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[0] = -1, lambda = 2, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[1] = -3/2, A[0] = -3/2, lambda =...
cf := [{A[2] = 0, A[0] = 0, lambda = 0, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[0] = -1, lambda = 2, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[1] = -3/2, A[0] = -3/2, lambda =...
cf := [{A[2] = 0, A[0] = 0, lambda = 0, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[0] = -1, lambda = 2, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[1] = -3/2, A[0] = -3/2, lambda =...
cf := [{A[2] = 0, A[0] = 0, lambda = 0, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[0] = -1, lambda = 2, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[1] = -3/2, A[0] = -3/2, lambda =...
cf := [{A[2] = 0, A[0] = 0, lambda = 0, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[0] = -1, lambda = 2, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[1] = -3/2, A[0] = -3/2, lambda =...
cf := [{A[2] = 0, A[0] = 0, lambda = 0, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[0] = -1, lambda = 2, A[1] = 0, A[3] = 0, A[4] = 0, A[5] = 0}, {A[2] = 0, A[1] = -3/2, A[0] = -3/2, lambda =...

>   

Solution

>    for k to m do lambda[k-1]=subs(cf[k],lambda),
y[k-1]=simplify(subs(cf[k],f)) od;

lambda[0] = 0, y[0] = 1

lambda[1] = 2, y[1] = x

lambda[2] = 6, y[2] = -1/2+3/2*x^2

lambda[3] = 12, y[3] = -3/2*x+5/2*x^3

lambda[4] = 20, y[4] = 3/8-15/4*x^2+35/8*x^4

lambda[5] = 30, y[5] = 15/8*x-35/4*x^3+63/8*x^5

lambda[6] = 42, y[6] = -5/16+105/16*x^2-315/16*x^4+231/16*x^6

Eigenfunctions is Legendre polynomials:

>    seq(orthopoly[P](k,x),k=0..Order);

1, x, -1/2+3/2*x^2, -3/2*x+5/2*x^3, 3/8-15/4*x^2+35/8*x^4, 15/8*x-35/4*x^3+63/8*x^5, -5/16+105/16*x^2-315/16*x^4+231/16*x^6

and    lambda[k] = k*(k+1)  :

>    seq(n*(n+1),n=0..Order);

0, 2, 6, 12, 20, 30, 42

>   

Checking the Solution

>    seq(simplify(subs(y(x)=orthopoly[P](k,x),
lambda=k*(k+1),lhs(eq)-rhs(eq))),k=0..Order);

0, 0, 0, 0, 0, 0, 0

>   

Other relations

1. Generating function for Legendre polynomials  is   1/sqrt(1-2*t*x+t^2)  :

>    simplify(series(1/sqrt(1-2*t*x+t^2),t));

series(1+x*t+(-1/2+3/2*x^2)*t^2+(-3/2*x+5/2*x^3)*t^3+(3/8-15/4*x^2+35/8*x^4)*t^4+(15/8*x-35/4*x^3+63/8*x^5)*t^5+O(t^6),t,6)

2.

P(n,x) = hypergeom([n+1, -n],[1],(1-x)/2)  :

>    seq(simplify(hypergeom([n+1, -n],[1],(1-x)/2)),n=0..Order-1);

1, x, -1/2+3/2*x^2, -3/2*x+5/2*x^3, 3/8-15/4*x^2+35/8*x^4, 15/8*x-35/4*x^3+63/8*x^5

>   

10. Chebyshev polynomials T(n,x)

Problem

>    restart;with(orthopoly):

>    eq := -(1-x^2)*diff(y(x),x,x)+x*diff(y(x),x)=lambda*y(x);

eq := -(1-x^2)*diff(y(x),`$`(x,2))+x*diff(y(x),x) = lambda*y(x)

>    abs(y(-1))<infinity,abs(y(1))<infinity;

abs(y(-1)) < infinity, abs(y(1)) < infinity

Solving problem

Eigenfunctions we search in polynomials  f,   f(1) = 1 .

>    n:=Order;

n := 6

>    f:=1-sum(A[k]*x^k,k=0..n-1)*(x-1);

f := 1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1)

>    subs(y(x)=f,eq);

-(1-x^2)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),`$`(x,2))+x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),x) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4...
-(1-x^2)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),`$`(x,2))+x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),x) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4...
-(1-x^2)*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),`$`(x,2))+x*diff(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4+A[5]*x^5)*(x-1),x) = lambda*(1-(A[0]+A[1]*x+A[2]*x^2+A[3]*x^3+A[4]*x^4...

>    id:=expand(lhs(%)-rhs(%))=0;

id := lambda*x*A[0]+lambda*x^2*A[1]-lambda*A[1]*x+lambda*x^3*A[2]-lambda*A[2]*x^2+lambda*x^4*A[3]-lambda*A[3]*x^3+lambda*x^5*A[4]-lambda*A[4]*x^4+lambda*x^6*A[5]-lambda*A[5]*x^5+2*A[1]+16*A[4]*x^4+4*A[...
id := lambda*x*A[0]+lambda*x^2*A[1]-lambda*A[1]*x+lambda*x^3*A[2]-lambda*A[2]*x^2+lambda*x^4*A[3]-lambda*A[3]*x^3+lambda*x^5*A[4]-lambda*A[4]*x^4+lambda*x^6*A[5]-lambda*A[5]*x^5+2*A[1]+16*A[4]*x^4+4*A[...
id := lambda*x*A[0]+lambda*x^2*A[1]-lambda*A[1]*x+lambda*x^3*A[2]-lambda*A[2]*x^2+lambda*x^4*A[3]-lambda*A[3]*x^3+lambda*x^5*A[4]-lambda*A[4]*x^4+lambda*x^6*A[5]-lambda*A[5]*x^5+2*A[1]+16*A[4]*x^4+4*A[...
id := lambda*x*A[0]+lambda*x^2*A[1]-lambda*A[1]*x+lambda*x^3*A[2]-lambda*A[2]*x^2+lambda*x^4*A[3]-lambda*A[3]*x^3+lambda*x^5*A[4]-lambda*A[4]*x^4+lambda*x^6*A[5]-lambda*A[5]*x^5+2*A[1]+16*A[4]*x^4+4*A[...

>    K:=indets(id) minus {x};

K := {A[4], A[5], A[0], A[1], A[2], A[3], lambda}

>    koef:=solve(identity(id,x),K);

koef := {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[3] = 0, A[2] = -4, A[1] = -4, A[5] = 0, A[4] = 0, lambda = 9, A[0] = -1}, {A[3] = -16, A[1] = 4, A[5] = 0, A[4] = -...
koef := {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[3] = 0, A[2] = -4, A[1] = -4, A[5] = 0, A[4] = 0, lambda = 9, A[0] = -1}, {A[3] = -16, A[1] = 4, A[5] = 0, A[4] = -...
koef := {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[3] = 0, A[2] = -4, A[1] = -4, A[5] = 0, A[4] = 0, lambda = 9, A[0] = -1}, {A[3] = -16, A[1] = 4, A[5] = 0, A[4] = -...
koef := {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[3] = 0, A[2] = -4, A[1] = -4, A[5] = 0, A[4] = 0, lambda = 9, A[0] = -1}, {A[3] = -16, A[1] = 4, A[5] = 0, A[4] = -...
koef := {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[3] = 0, A[2] = -4, A[1] = -4, A[5] = 0, A[4] = 0, lambda = 9, A[0] = -1}, {A[3] = -16, A[1] = 4, A[5] = 0, A[4] = -...
koef := {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[3] = 0, A[2] = -4, A[1] = -4, A[5] = 0, A[4] = 0, lambda = 9, A[0] = -1}, {A[3] = -16, A[1] = 4, A[5] = 0, A[4] = -...
koef := {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[3] = 0, A[2] = -4, A[1] = -4, A[5] = 0, A[4] = 0, lambda = 9, A[0] = -1}, {A[3] = -16, A[1] = 4, A[5] = 0, A[4] = -...

>    m:=nops([koef]);

m := 7

>    F:=(a,b)->evalb(degree(subs(a,f))<degree(subs(b,f)));

F := proc (a, b) options operator, arrow; evalb(degree(subs(a,f)) < degree(subs(b,f))) end proc

>    cf:=sort([koef],F);

cf := [{lambda = 0, A[2] = 0, A[3] = 0, A[0] = 0, A[1] = 0, A[5] = 0, A[4] = 0}, {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[2] = 0, A[3] = 0, A[1] = -2, A[5] = 0, A[4...
cf := [{lambda = 0, A[2] = 0, A[3] = 0, A[0] = 0, A[1] = 0, A[5] = 0, A[4] = 0}, {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[2] = 0, A[3] = 0, A[1] = -2, A[5] = 0, A[4...
cf := [{lambda = 0, A[2] = 0, A[3] = 0, A[0] = 0, A[1] = 0, A[5] = 0, A[4] = 0}, {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[2] = 0, A[3] = 0, A[1] = -2, A[5] = 0, A[4...
cf := [{lambda = 0, A[2] = 0, A[3] = 0, A[0] = 0, A[1] = 0, A[5] = 0, A[4] = 0}, {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[2] = 0, A[3] = 0, A[1] = -2, A[5] = 0, A[4...
cf := [{lambda = 0, A[2] = 0, A[3] = 0, A[0] = 0, A[1] = 0, A[5] = 0, A[4] = 0}, {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[2] = 0, A[3] = 0, A[1] = -2, A[5] = 0, A[4...
cf := [{lambda = 0, A[2] = 0, A[3] = 0, A[0] = 0, A[1] = 0, A[5] = 0, A[4] = 0}, {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[2] = 0, A[3] = 0, A[1] = -2, A[5] = 0, A[4...
cf := [{lambda = 0, A[2] = 0, A[3] = 0, A[0] = 0, A[1] = 0, A[5] = 0, A[4] = 0}, {A[2] = 0, A[3] = 0, A[1] = 0, A[5] = 0, A[4] = 0, lambda = 1, A[0] = -1}, {A[2] = 0, A[3] = 0, A[1] = -2, A[5] = 0, A[4...

>   

Solution

>    for k to m do lambda[k-1]=subs(cf[k],lambda),
y[k-1]=simplify(subs(cf[k],f)) od;

lambda[0] = 0, y[0] = 1

lambda[1] = 1, y[1] = x

lambda[2] = 4, y[2] = -1+2*x^2

lambda[3] = 9, y[3] = -3*x+4*x^3

lambda[4] = 16, y[4] = 1-8*x^2+8*x^4

lambda[5] = 25, y[5] = 5*x-20*x^3+16*x^5

lambda[6] = 36, y[6] = -1+18*x^2-48*x^4+32*x^6

Eigenfunctions is Chebyshev polynomials:

>    seq(orthopoly[T](k,x),k=0..Order);

1, x, -1+2*x^2, -3*x+4*x^3, 1-8*x^2+8*x^4, 5*x-20*x^3+16*x^5, -1+18*x^2-48*x^4+32*x^6

and    lambda[n] = n^2  :

>    seq(n^2,n=0..Order);

0, 1, 4, 9, 16, 25, 36

>   

Checking the Solution

>    seq(simplify(subs(y(x)=orthopoly[T](k,x),
lambda=k^2,lhs(eq)-rhs(eq))), m=0..Order);

0, 0, 0, 0, 0, 0, 0

Other relations

1. Generating function for Chebyshev polynomials  is (1-t*x)/(1-2*t*x+t^2)  :

>    simplify(series((1-t*x)/(1-2*t*x+t^2),t));

series(1+x*t+(-1+2*x^2)*t^2+(-3*x+4*x^3)*t^3+(1-8*x^2+8*x^4)*t^4+(5*x-20*x^3+16*x^5)*t^5+O(t^6),t,6)

2.

T(n,x) = hypergeom([n, -n],[1/2],(1-x)/2)  :

>    seq(simplify(hypergeom([n,-n],[1/2],(1-x)/2)),n=0..Order-1);

1, x, -1+2*x^2, -3*x+4*x^3, 1-8*x^2+8*x^4, 5*x-20*x^3+16*x^5

>   

11. Chebyshev polynomials of the second kind   U(n,x)

Problem

>    restart; with(orthopoly):

>    eq := -(1-x^2)*diff(y(x),x,x)+3*x*diff(y(x),x)=lambda*y(x);

eq := -(1-x^2)*diff(y(x),`$`(x,2))+3*x*diff(y(x),x) = lambda*y(x)

>    abs(y(-1))<infinity,abs(y(1))<infinity;

abs(y(-1)) < infinity, abs(y(1)) < infinity

Procedure

Eigenfunctions we search in polynomials  f,   f(1) = n+1

>    Ch2:=proc(n::nonnegint)
local f,id,eq,cf,F,K;
eq := -(1-x^2)*diff(y(x),x,x)+3*x*diff(y(x),x)=lambda*y(x);
f:=n+1+sum('A[k]*x^k','k'=0..n-1)*(x-1);
subs(y(x)=f,eq);
id:=expand(lhs(%)-rhs(%))=0;
K:=indets(id) minus {x};
cf:=solve(identity(id,x),K);
F:=(a,b)->evalb(degree(subs(a,f))>degree(subs(b,f)));
cf:=sort([cf],F);
RETURN([subs(cf[1],lambda),expand(subs(cf[1],f))]);
end:

Solution

>    seq(Ch2(k),k=0..Order);

[0, 1], [3, 2*x], [8, -1+4*x^2], [15, -4*x+8*x^3], [24, 1-12*x^2+16*x^4], [35, 6*x-32*x^3+32*x^5], [48, -1+24*x^2-80*x^4+64*x^6]
[0, 1], [3, 2*x], [8, -1+4*x^2], [15, -4*x+8*x^3], [24, 1-12*x^2+16*x^4], [35, 6*x-32*x^3+32*x^5], [48, -1+24*x^2-80*x^4+64*x^6]

>    for k from 0 to Order do
lambda[k]=Ch2(k)[1], y[k]=Ch2(k)[2] od;

lambda[0] = 0, y[0] = 1

lambda[1] = 3, y[1] = 2*x

lambda[2] = 8, y[2] = -1+4*x^2

lambda[3] = 15, y[3] = -4*x+8*x^3

lambda[4] = 24, y[4] = 1-12*x^2+16*x^4

lambda[5] = 35, y[5] = 6*x-32*x^3+32*x^5

lambda[6] = 48, y[6] = -1+24*x^2-80*x^4+64*x^6

Eigenfunctions is Chebyshev polynomials of the second kind:

>    seq(orthopoly[U](k,x),k=0..Order);

1, 2*x, -1+4*x^2, -4*x+8*x^3, 1-12*x^2+16*x^4, 6*x-32*x^3+32*x^5, -1+24*x^2-80*x^4+64*x^6

and    lambda[n] = n*(n+2)  :

>    seq(n*(n+2),n=0..Order);

0, 3, 8, 15, 24, 35, 48

Checking the Solution

>    seq(simplify(subs(y(x)=orthopoly[U](k,x),
lambda=k*(k+2),lhs(eq)-rhs(eq))),k=0..Order);

0, 0, 0, 0, 0, 0, 0

Other relations

1. Generating function for Chebyshev polynomials of the second kind is 1/(1-2*t*x+t^2)  :

>    simplify(series(1/(1-2*t*x+t^2),t));

series(1+2*x*t+(-1+4*x^2)*t^2+(-4*x+8*x^3)*t^3+(1-12*x^2+16*x^4)*t^4+(6*x-32*x^3+32*x^5)*t^5+O(t^6),t,6)

2.

U(n,x) = (n+1)*hypergeom([n+2, -n],[3/2],(1-x)/2)  :

>    seq(simplify((n+1)*hypergeom([n+2,-n],[3/2],(1-x)/2)),n=0..Order-1);

1, 2*x, -1+4*x^2, -4*x+8*x^3, 1-12*x^2+16*x^4, 6*x-32*x^3+32*x^5

3.

U(n,x) = diff(T(n+1,x),x)/(n+1)  :

>    seq(diff(T(n+1,x),x)/(n+1),n=0..Order-1);

1, 2*x, -1+4*x^2, -4*x+8*x^3, 1-12*x^2+16*x^4, 6*x-32*x^3+32*x^5

12. Associated Legendre functions

Problem

>    restart;

>    eq := -(1-x^2)*diff(y(x),x,x)+2*x*diff(y(x),x)+m^2/(1-x^2)*y(x)=lambda*y(x);

eq := -(1-x^2)*diff(y(x),`$`(x,2))+2*x*diff(y(x),x)+m^2/(1-x^2)*y(x) = lambda*y(x)

>    abs(y(-1))<infinity,abs(y(1))<infinity;

abs(y(-1)) < infinity, abs(y(1)) < infinity

>    assume(m,nonnegint);

>   

Solution

Eigenfunctions are associated Legendre functions

P(n,m,x) = (1-x^2)^(m/2)     d^m/(dx^m)    P(n,x) ,   n = m, m+1 , ...

where P(n,x)    Legendre polynomials and

lambda[n] = n*(n+1)  

We define P(n,m,x)  :

>    P:=proc(n::nonnegint,m::nonnegint,x)
local i;
if n<m then RETURN(0) else
orthopoly[P](n,x);
for i to m do diff(%,x) end do;
(1-x^2)^(m/2)*simplify(%);
RETURN(%);
end if; end proc:

For m=0     P(n,0,x) = P(n,x) :

>    seq(P(n,0,x),n=0..5);

1, x, 3/2*x^2-1/2, 5/2*x^3-3/2*x, 35/8*x^4-15/4*x^2+3/8, 63/8*x^5-35/4*x^3+15/8*x

For m=1

>    seq(P(n,1,x),n=1..5);

sqrt(1-x^2), 3*sqrt(1-x^2)*x, sqrt(1-x^2)*(15/2*x^2-3/2), sqrt(1-x^2)*(35/2*x^3-15/2*x), sqrt(1-x^2)*(315/8*x^4-105/4*x^2+15/8)

For m=2

>    seq(P(n,2,x),n=2..6);

3-3*x^2, 15*(1-x^2)*x, (1-x^2)*(105/2*x^2-15/2), (1-x^2)*(315/2*x^3-105/2*x), (1-x^2)*(3465/8*x^4-945/4*x^2+105/8)
3-3*x^2, 15*(1-x^2)*x, (1-x^2)*(105/2*x^2-15/2), (1-x^2)*(315/2*x^3-105/2*x), (1-x^2)*(3465/8*x^4-945/4*x^2+105/8)

For m=3

>    seq(P(n,3,x),n=3..6);

15*(1-x^2)^(3/2), 105*(1-x^2)^(3/2)*x, (1-x^2)^(3/2)*(945/2*x^2-105/2), (1-x^2)^(3/2)*(3465/2*x^3-945/2*x)

>   

Checking the Solution

For m=1

>    seq(simplify(subs(y(x)=P(n,1,x),m=1,
lambda=n*(n+1),lhs(eq)-rhs(eq))), n=1..Order);

0, 0, 0, 0, 0, 0

For m=4

>    seq(simplify(subs(y(x)=P(n,4,x),m=4,
lambda=n*(n+1),lhs(eq)-rhs(eq))), n=4..2*Order);

0, 0, 0, 0, 0, 0, 0, 0, 0

>   

Other relations

1.

(2*m)!*(1-x^2)^(m/2)/(2^m*m!*(1-2*x*t+t^2)^(m+1/2)) = Sum(P(n+m,m,x)*t^n,n = 0 .. infinity)

Generating function

>    gf:=(2*m)!*(1-x^2)^(m/2)/(2^m)/m!/((1-2*x*t+t^2)^(m+1/2));

gf := (2*m)!*(1-x^2)^(1/2*m)/(2^m)/m!/((1-2*x*t+t^2)^(m+1/2))

Checking  for m=1

>    gf1:=subs(m=1,gf);

gf1 := 1/2*2!*(1-x^2)^(1/2)/1!/(1-2*x*t+t^2)^(3/2)

>    series(gf1,t,5);

series(sqrt(1-x^2)+3*sqrt(1-x^2)*x*t+sqrt(1-x^2)*(-3/2+15/2*x^2)*t^2+sqrt(1-x^2)*(-15/2*x+35/2*x^3)*t^3+sqrt(1-x^2)*(15/8-105/4*x^2+315/8*x^4)*t^4+O(t^5),t,5)
series(sqrt(1-x^2)+3*sqrt(1-x^2)*x*t+sqrt(1-x^2)*(-3/2+15/2*x^2)*t^2+sqrt(1-x^2)*(-15/2*x+35/2*x^3)*t^3+sqrt(1-x^2)*(15/8-105/4*x^2+315/8*x^4)*t^4+O(t^5),t,5)

>    seq(P(n,1,x),n=1..5);

sqrt(1-x^2), 3*sqrt(1-x^2)*x, sqrt(1-x^2)*(-3/2+15/2*x^2), sqrt(1-x^2)*(-15/2*x+35/2*x^3), sqrt(1-x^2)*(15/8-105/4*x^2+315/8*x^4)
sqrt(1-x^2), 3*sqrt(1-x^2)*x, sqrt(1-x^2)*(-3/2+15/2*x^2), sqrt(1-x^2)*(-15/2*x+35/2*x^3), sqrt(1-x^2)*(15/8-105/4*x^2+315/8*x^4)

Checking  for m=2

>    gf2:=subs(m=2,gf);

gf2 := 1/4*4!*(1-x^2)/2!/(1-2*x*t+t^2)^(5/2)

>    series(gf2,t,5);

series((3-3*x^2)+15*(1-x^2)*x*t+3*(1-x^2)*(-5/2+35/2*x^2)*t^2+3*(1-x^2)*(-35/2*x+105/2*x^3)*t^3+3*(1-x^2)*(35/8-315/4*x^2+1155/8*x^4)*t^4+O(t^5),t,5)
series((3-3*x^2)+15*(1-x^2)*x*t+3*(1-x^2)*(-5/2+35/2*x^2)*t^2+3*(1-x^2)*(-35/2*x+105/2*x^3)*t^3+3*(1-x^2)*(35/8-315/4*x^2+1155/8*x^4)*t^4+O(t^5),t,5)

>    seq(P(n,2,x),n=2..Order);

3-3*x^2, 15*(1-x^2)*x, (1-x^2)*(105/2*x^2-15/2), (1-x^2)*(315/2*x^3-105/2*x), (1-x^2)*(3465/8*x^4-945/4*x^2+105/8)
3-3*x^2, 15*(1-x^2)*x, (1-x^2)*(105/2*x^2-15/2), (1-x^2)*(315/2*x^3-105/2*x), (1-x^2)*(3465/8*x^4-945/4*x^2+105/8)

2.

P(n,m,x) = (1-x^2)^(m/2)*(n+m)!/(2^m)/m!/(n-m)!*hypergeom([m-n, n+m+1],[m+1],(1-x)/2)

Checking :

>    P1:=proc(n::nonnegint,m::nonnegint,x)
if n<m then 0 else
simplify((1-x^2)^(m/2)*(n+m)!/2^m/m!/(n-m)!*
hypergeom([m-n,n+m+1],[m+1],(1-x)/2));end if;
end:

For m=1

>    seq(simplify(P(n,1,x)-P1(n,1,x)),n=1..Order);

0, 0, 0, 0, 0, 0

For m=2

>    seq(simplify(P(n,2,x)-P1(n,2,x)),n=2..Order);

0, 0, 0, 0, 0

>   

Note

In some references associated Legendre functions are defined by

  P(n,m,x) = (-1)^m*(1-x^2)^(m/2)     d^m/(dx^m)    P(n,x)

see  in Maple ?LegendreP,  in Mathematica LegendreP[n,m,x] .

Examples with associated Legendre functions see in elliptic3d.mws

>   

While every effort has been made to validate the solutions in this worksheet, Waterloo Maple Inc. and the contributors are not responsible for any errors contained and are not liable for any damages resulting from the use of this material.

Back to contents