Nous définissons dans un premier temps l'expression Q comme suit:
> Q := x^2 * diff(f(x),x,x) + x*diff(f(x),x) - p^2*f(x);
La substitution de f(x) par le monôme se fait par:
> subs(f(x)=x^k,Q);
Il ne reste plus qu'à évaluer cette dernière expression et à trouver les valeurs de k qui l'annulent.
> expand("); > solve(",k);Ce qui nous donne k=p ou k=-p. L'équation différentielle ordinaire étant du second ordre, elle admet au plus deux degrés de liberté. Les deux solutions
dsolve(Q,f(x))
.
On pose:
> F : = A*x^p + B/x^p;
On introduit les conditions aux limites, puis on résoud le système en A et B, et enfin on réintroduit les solutions de A et B dans l'expression de F:
> solve({subs(x=R0,F)=1, subs(x=R0,diff(F,x))=0},{A,B}); > subs(",F);ce qui aboutit au résultat final:
On aurait abouti au même résultat en utilisant la syntaxe suivante:
> dsolve({Q,f(R0)=1,D(f)(R0)=0},f(x));