MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: asymptotics


This gives me an opportunity to write a few more words on asymptotic  
expansions, including soem things that I used to know but forgot.

There are in fact several concepts of defintions of "asymptotic  
expansions". The most common defintion is that of an asymptotic-power  
series, of the form

f(x) = a[0] + a[1] x^(-1) + ... + a[n-1] x^(-n+1) + (a[n]+epsion[n] 
[x]) x^-n

where epsilon[n][x]->0 as x->0.

This says that the difference between the sum of the first n-terms   
of the expansion and the function f[x] can be made as small as  
possible in comparison with 1/x^n when x is large enough.

In the case of this kind of expansions we have a certain degree of  
uniqueness: a given functions can have only one expansion for a given  
range of values of x, but two different functions can have the same  
asymptotic expansion. For example, the asymptotic expansion of
Exp[-x]
is
0+0+.....  so the asymptotic expansion of f[x] and f[x]+ Exp[-x] will  
be the same (however, Mathematica, rather naturally will not give you  
any expansion of Exp[-x] at Infinity - if it did it would have to  
return 0).

On the other hand, Exp[x], has not asymptotic expansion at all.

Another common kind (about which I forgot but Maxim Rytin remembered)  
is the case f[x]/g[x]. If f[x]/g[x] has an expansion of the above  
kind  then one says that

f(x) = g[x] (a[0] + a[1] x + ... + a[n-1]/x^(n-1) + ...)

is an asymptotic expansion of f. This is the kind of expansion that  
the other CAS gave you and it has, in general, better properties than  
the ones I considered.

There are, however,  much more general asymptotic expansions, which  
is what i had in mind in my first replies to you. In fact, one can  
expand functions in terms of essentially any given functions.  I  
think the most general "theory" of this kind was invented by Hoene- 
Wronski but it has never been given a formal mathematical basis. The  
subject is very complicated and obscure with many special techniques  
and only very limited general theory. It does not seem to be suitable  
for CAS.

Now finally for your question. To tell the truth I do not know the  
answer. When asked to expand a Bessel function at Infinity  
Mathematica first  produces  messages about essential singularities  
and then returns an expansion that looks like one of the expansions  
you can see  here

http://functions.wolfram.com/BesselAiryStruveFunctions/BesselJ/06/02/02/

Probably the explanation is that in the case of well known special  
functions like the Bessel functions someone has programmed  
Mathematica to return these expansions while it makes no attempt to  
find them in more general cases. But actually, it seems, the all that  
the other CAS does is simply to also consider the case:
g[x]*(something that has a power series at infinity), where g[x] has  
an essential singularity at Infinity. This kind of thing is simple  
enough to do by oneself.

Andrzej Kozlowski







On 28 May 2007, at 13:59, dimitris wrote:

> Hello.
>
> Hmmm!
>
>> Well,  of course, Mathematica correctly does not expand your function
>> .as a power series about infinity because such an expansion does not
>> exist (or, if you prefer, is identically 0). Note that the
>> "assymtotic expansion" the other CAS gives you is into a power series
>> expansion: since after truncation it contains a factor Exp[-y u].
>
> Because of applied mathematics background I may miss something  
> fundamentally.
> So I apologize for it.
>
> Why for example Mathematica does expand BesselJ at infinity?
> There is an essential singularity there.
>
> Dimitris
>
>  /  Andrzej Kozlowski       :
>> On 24 May 2007, at 19:23, dimitris wrote:
>>
>>> Sorry fellas if I ask something trivial
>>> but currently I can't find anything!
>>>
>>> In another CAS I took
>>>
>>> f:=asympt(exp(-y*sqrt(1+m^2*u^2)/m),u,5);
>>>
>>>        /        2 1/2      2          2 1/2      2    2
>>>        |    y (m )        y       y (m )    (-6 m  + y )
>>>   f := |1 - --------- + ------- - ----------------------
>>>        |        3          4  2              7  3
>>>        \     2 m  u     8 m  u           48 m  u
>>>
>>>             2       2    2           \             2 1/2
>>>            y  (-24 m  + y )      1   |   /     y (m )    u
>>>          + ---------------- + O(----)|  /  exp(-----------)
>>>                    8  4           5  | /            m
>>>               384 m  u           u   /
>>>
>>> ff:=simplify(convert(f,polynom)) assuming m>0;
>>> ff := 1/384*exp(-
>>> y*u)*(384*m^8*u^4-192*y*m^6*u^3+48*y^2*m^4*u^2
>>> +48*y*m^4*u-8*y^3*m^2*u-24*y^2*m^2+y^4)/
>>> m^8/u^4
>>>
>>> In Mathematica I can't get the expansion in infinity
>>>
>>> In[113]:= Series[Exp[(-y)*(Sqrt[1 + m^2*u^2]/m)], {u, Infinity, 10}]
>>> Out[113]= E^(-((Sqrt[1 + m^2*u^2]*y)/m))
>>>
>>> What do I miss here?
>>>
>>> Thanks
>>> Dimitris
>>>
>>>
>>
>>
>> Well,  of course, Mathematica correctly does not expand your function
>> as a power series about infinity because such an expansion does not
>> exist (or, if you prefer, is identically 0). Note that the
>> "assymtotic expansion" the other CAS gives you is into a power series
>> expansion: since after truncation it contains a factor Exp[-y u].
>> There are many such assymtotic expansions. I do not know how to use
>> Mathematica to get this particular one, but it is easy to get similar
>> ones. For example, here is one way to get an assymptotic expansion
>> pretty close to the one given by the other CAS:
>>
>> f[u_] = Simplify[
>>    Normal[Series[a^(Sqrt[m^2 + 1/u^2]/m), {u, Infinity, 10}]] /.
>>         a -> Exp[(-y)*u], {m > 0, u > 0, y > 0}]
>>
>>   (3840*u^9*m^10 - 1920*u^8*y*m^8 + 480*u^6*y*(u*y + 1)*m^6 -
>>        80*u^4*y*(u^2*y^2 + 3*u*y + 3)*m^4 +
>>     10*u^2*y*(u^3*y^3 + 6*u^2*y^2 + 15*u*y + 15)*m^2 -
>>        y*(u^4*y^4 + 10*u^3*y^3 + 45*u^2*y^2 + 105*u*y + 105))/(E^ 
>> (u*y)
>> *(3840*
>>       m^10*u^9))
>>
>> This looks a little more complicated than the expression given by the
>> other CAS (and is, of course, not equal to it) but they both give
>> good approximations of the original function at Infinity. You can
>> check it numerically as follows:
>>
>> g[u_] = 1/384*
>>     Exp[-y*
>>       u]*(384*m^8*u^4 - 192*y*m^6*u^3 + 48*y^2*m^4*u^2 + 48*y*m^4*u -
>>         8*y^3*m^2*u - 24*y^2*m^2 + y^4)/m^8/u^4;
>>
>> Let's choose some random values for m and y:
>>
>> m = Random[]; y = Random[];
>>
>> then
>>
>>   f[20000] // N
>>   5.318723018905205*10^-2317
>>
>> g[20000] // N
>>   5.318723018905206*10^-2317
>>
>> which are pretty close. For larger values they are even closer:
>>
>>   f[200000] // N
>>   1.811911734460420*10^-23163
>>
>>   g[200000] // N
>>   1.811911734460420*10^-23163
>>
>> Of course, as expected, the values are very close to zero. For the
>> function itself we get:
>>
>>   N[Exp[(-y)*(Sqrt[1 + m^2*u^2]/m)] /. u -> 200000]
>>   1.81191173447088963591082`11.14761897993578*^-23163
>>
>> Andrzej Kozlowski
>
>



  • Prev by Date: Re: Re: Mathematica 6.0 easier for me ... (small review)
  • Next by Date: Re: Left eigenvector of generalized eigenvalue problem
  • Previous by thread: Re: asymptotics
  • Next by thread: Re: asymptotics