Re: series expansion of polys with real exponents
- To: mathgroup@smc.vnet.net
- Subject: [mg11715] Re: series expansion of polys with real exponents
- From: Allan Hayes <hay@haystack.demon.co.uk>
- Date: Thu, 26 Mar 1998 03:08:43 -0500
- References: <6esp6s$699@smc.vnet.net>
Hafeez Abdulrauf wrote:
>
> Hi,
>
> I would like to find the series expansion of an expression like
>
> 2 D / (2 -D^0.2 -D^1.8)
>
> in positive (real) powers of D. As the expression has real exponents on
> D, it's not really a polynomial and none of the polynomial functions
> work here. Is there any way to work it out?
>
> Regards,
> Rauf
and, in reply to my previous posting,
> substituting x^5 for D and then using
> Series[] does get me what I want.
This raised some interesting issues about which kind of approach to use.
I copy my reply:
Rauf:
So, something like
f[D_]=2 D / (2 -D^(1/5) -D^(9/5));
Hf[D_,p_,n_]:=(Series[(f[D]/.D->x^5),{x,p^(1/5),n}]//Normal)/.x->D^(1/5)
Interestingly, with the exact form of the exponents and p = 0, we get
Sf[D_,p_,n_]:=Series[f[D],{D,p,n}]//Normal
Hf[D,0,14]
6/5 7/5 8/5 9/5 2 11/5 12/5 13/5
D D D D D D D D D + ---- + ---- +
---- + ---- + -- + ----- + ----- + ----- +
2 4 8 16 32 64 128 256
14/5
257 D
---------
512
Sf[D,0,2]//Expand
6/5 7/5 8/5 9/5 2 11/5 12/5 13/5
D D D D D D D D D + ---- + ---- +
---- + ---- + -- + ----- + ----- + ----- +
2 4 8 16 32 64 128 256
14/5
257 D
---------
512
But Sf does not use non-integral powers when p is not 0,
Hf[D,.5,10]//Expand
8 9 1/5 10 2/5 2.54485 10 - 2.96111
10 D + 1.55076 10 D -
10 3/5 10 4/5 11
4.81374 10 D + 9.80804 10 D - 1.37064 10 D +
11 6/5 10 7/5
1.33046 10 D - 8.85787 10 D +
10 8/5 10 9/5 9 2
3.87112 10 D - 1.0028 10 D + 1.16931 10 D
Sf[D,.5,10]//Expand
2 3 0.996243 - 19.6231 D +
200.44 D - 1122.24 D +
4 5 6 7
4165.68 D - 10634.3 D + 18957.7 D - 23309. D +
8 9 10
18952.3 D - 9219.22 D + 2048.57 D
Here are some comparisons
f0=Plot[Evaluate[f[D]//N],{D,.001,.8},
PlotStyle -> {GrayLevel[.8], Thickness[0.02]}];
Hf0=Plot[Evaluate[Hf[D,0,40]],{D,.001,.8},
PlotStyle -> Hue[.6]];
Sf0=Plot[Evaluate[Sf[D,0,7]],{D,.001,.8},PlotRange->All,
AxesOrigin->{0,0}, PlotStyle->Hue[0]];
Show[f0,Hf0,Sf0];
f1=Plot[Evaluate[f[D]//N],{D,.1,.9},
PlotStyle -> {GrayLevel[.8], Thickness[0.02]}];
Hf1=Plot[Evaluate[Hf[D,.5,10]],{D,.2,.9},
PlotStyle -> Hue[.6]];
Sf1=Plot[Evaluate[Sf[D,.5,10]],{D,.001,.9},PlotRange->All,
AxesOrigin->{0,0}, PlotStyle->Hue[0]];
Show[f1,Hf1,Sf1];
f2=Plot[Evaluate[f[D]//N],{D,1.1,2.9},
PlotStyle -> {GrayLevel[.8], Thickness[0.02]}];
Hf2=Plot[Evaluate[Hf[D,2.0,4]],{D,1.1,2.9},
PlotStyle -> Hue[.6]];
Sf2=Plot[Evaluate[Sf[D,2.0,4]],{D,1.1,2.9},PlotRange->All,
PlotStyle->Hue[0]];
Show[f2,Hf2,Sf2, PlotRange->All];
--
Allan Hayes
Mathematica Training and Consulting
Leicester, UK
hay@haystack.demon.co.uk
http://www.haystack.demon.co.uk
voice: +44 (0)116 271 4198
fax: +44 (0)116 271 8642