1
$\begingroup$

I have the following code for the series solution (via Frobenius method) of the differential equation ode around $y=\infty$. The solution and its derivative are Rasymp and dRasymp. My code works perfectly for integer values of p (i.e. $0,1,2,\cdots$) however it fails for noninteger values (e.g. $p=1/10, 1/2, 3/2, \cdots$). I have observed that for these noninteger values of p (for example, p=3/2), the expansion coefficients in ss cannot be obtained uniquely (please see the code below and run ss). This somehow contains fractional powers in the series expansion which I am not familiar with when it comes to the method. My question would be, does the ode below admit a series solution for noninteger values of q? What can be done to fix this ``non-uniqueness'' problem?

p = 3/2;
q = -1;
b0 = 1;
rat = 10^-100;

ir[y_] := b0 Sqrt[y^2 + 1]
dir[y_] := D[ir[x], x] /. x -> y

asymp[p_,q_]:={
\[Alpha]=l+1;
ORDINF=5;
g[r_]:=Sum[aa[i]/r^(i+\[Alpha]),{i,0,ORDINF+1}];
ode= (2/ir[y]-p/ir[y]^(p+1))ir[y]^2 D[ir[y],y] g'[y]+ir[y]^2 g''[y]-l (l+1) g[y];
ss=FullSimplify[Series[ode,{y,\[Infinity],ORDINF}]];
eqsINF=Table[SeriesCoefficient[ss,i]==0,{i,2,ORDINF}];
yinf=Table[aa[i],{i,1,ORDINF-1}];
seriesINF=Simplify[Solve[eqsINF,yinf]][[1]];

Rasymp=Rationalize[Collect[Simplify[Sum[aa[i]/y^(i+\[Alpha]),{i,0,ORDINF-1}]/.seriesINF/.aa[0]->1],y],rat],
dRasymp=Collect[FullSimplify[D[Rasymp,y]],y]}
asymp[p, q]
(*{((-1 - l) (2 + l) y^(-3 - l))/(6 + 4 l) + y^(-1 - l), ((1 + l) (6 + 5 l + l^2) y^(-4 - l))/(2 (3 + 2 l)) - (1 + l) y^(-2 - l)}*)

ss
(*y^-l (
SeriesData[y, 
DirectedInfinity[1], {
   2 (1 + l) aa[1], 
    Rational[3, 2] (1 + l) aa[
     0], (1 + l) (2 + l) aa[0] + 2 (3 + 2 l) aa[2], 
    Rational[3, 2] (2 + l) aa[1], (2 + l) ((3 + l) aa[1] + 6 aa[3]), 
    Rational[-9, 8] (1 + l) aa[0] + Rational[3, 2] (3 + l) aa[2], (
      3 + l) (4 + l) aa[2] + 4 (5 + 2 l) aa[4], 
    Rational[-9, 8] (2 + l) aa[1] + Rational[3, 2] (4 + l) aa[3], (
     4 + l) (5 + l) aa[3]}, 4, 13, 2])*)
$\endgroup$
2
  • 1
    $\begingroup$ There is a typo: /.aa[0]>1 should probably read /.aa[0]->1 $\endgroup$ – Daniel Huber Mar 9 at 13:24
  • $\begingroup$ @DanielHuber thanks for noticing! $\endgroup$ – user583893 Mar 9 at 14:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.