MathGroup Archive 2002

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

Search the Archive

Re: Re: Limit[Sin[a*x]/(a*x), x -> Infinity]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg35851] Re: [mg35818] Re: Limit[Sin[a*x]/(a*x), x -> Infinity]
  • From: Andrzej Kozlowski <andrzej at platon.c.u-tokyo.ac.jp>
  • Date: Sat, 3 Aug 2002 00:17:23 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

It is true that Mathematica could "automatically" replace parameters 
which are positive by E^Re[a] or E^Abs[a], and make a few more 
replacements of this kind (though it is not necessarily clear which one 
would be the most helpful one in a given situation) but that would do no 
more than you can do by making such substitutions by hand. It would thus 
be only of cosmetic use (it may save you a typing a few characters, 
although even then I am not sure that Assumptions-> ...{a>0}  is that 
much improvement on /.a->E^(Re[b])) but they would not help you to solve 
a single problem you can't do now.  A serious assumptions mechanism 
would be able to take an assumption and derive from it the consequences 
significant for the convergence of a limit, in other words make 
deductions and size estimations the way one does when working with 
serious limit problems (e.g. using bounds on the coefficients in the 
Taylor series ).   Compare the assumptions mechanism in Integrate and in 
Simplify. The first works largely like what you are suggesting, in other 
words you have to know what assumptions are relevant (no deduction), 
they must be just in the right form, and may be ignored even if they are 
relevant. The other let's you enter the actual conditions and let's 
Mathematica itself make the necessary deductions.

Also the original post said:

> I don't want to write specific assumptions for each term in Limit
> since I have many different variables and forms of a.

The only wat to do this is to temporarily re-define Limit for the 
particular problem at hand.

Andrzej Kozlowski


On Saturday, August 3, 2002, at 05:06  AM, DrBob wrote:

> There's nothing to prevent Limit from converting the condition a>=0 into
> the change of variables a=Exp@Re@b and computing the limit (no matter
> what limit function or asymptote we're looking at), if Limit were made
> "assumption-aware".  That's only one example, but I think most
> conditions we'd be interested in can be handled similarly.
>
> Bobby
>
> -----Original Message-----
> From: Andrzej Kozlowski [mailto:andrzej at platon.c.u-tokyo.ac.jp]
To: mathgroup at smc.vnet.net
> Sent: Friday, August 02, 2002 8:30 AM
> Cc: mathgroup at smc.vnet.net; drbob at bigfoot.com; j_m_1967 at hotmail.com
> Subject: [mg35851] Re: [mg35818] Re: Limit[Sin[a*x]/(a*x), x -> Infinity]
>
>
> On Friday, August 2, 2002, at 03:42  PM, Dana DeLouis wrote:
>
>>
>> Hello.  I do not have an answer, as I am new also.
>> In Mathematica 4.2, Help says in part "...Limit therefore makes no
>> explicit assumptions about symbolic functions." Same for the Package
>> "NLimit."  Therefore, I think we're out of luck here.
>
> You can't make assumptions in Limit. There are not enough general
> methods for such a mechanism to be really useful.
>
>> As an newbe observation, the only option for Limit (For Mathematica 4.
> 2)
>> is "Direction."  However, if you type ??Limit, there is another Option
>> listed that appears not to be documented. That option is "Analytic."
> I
>> thought maybe this would solve this type of problem, but it does not.
> I
>> do not know for sure what this option does.  Anyone else??
>
> This is meant for the situations when you use a custom defined function.
>
> For example:
>
> In[21]:=
> Limit[f[Sin[x]/x], x -> 0]
>
> Out[21]=
> Limit[f[Sin[x]/x], x -> 0]
>
> but
>
> In[22]:=
> Limit[f[Sin[x]/x], x -> 0, Analytic -> True]
>
> Out[22]=
> f[1]
>
>
>
>>
>> Information["Limit", LongForm -> True]
>> "Limit[expr, x->x0] finds the limiting value of \
>> expr when x approaches x0...
>>
>> Attributes[Limit] = {Listable, Protected}
>>
>> Options[Limit] = {Analytic -> False, Direction -> Automatic}
>>
>> As a possible workaround, would substituting many values for "a" work?
>> Here is what I am thinking...
>>
>> v = Table[Random[Real, {0, 2*Pi}], {100}];
>>
>> Union[(Limit[Sin[#1*x]/(#1*x), x -> Infinity] & ) /@ v]
>>
>> I get all zero's like you predicted for many values of a.
>> {0}
>>
>> If you try "Integers", then I get an "Indeterminate" because the limit
>> does not like "a" being 0.
>>
>> v = Table[Random[Integer, {-4, 4}], {10}];
>>
>> Union[(Limit[Sin[#1*x]/(#1*x), x -> Infinity] & ) /@ v]
>>
>>
>> {0, Indeterminate}
>
>
>
> Actually the problem is that the function Sin[z]/z is singular at
> Infinity. Thus:
>
> In[26]:=
> Limit[Sin[z]/z, z -> Infinity, Direction -> -1]
>
> Out[26]=
> 0
>
> In[27]:=
> Limit[Sin[z]/z, z -> Infinity, Direction -> -I]
>
> Out[27]=
> Infinity
>
> In other words the limit depends on the direction. So when you consider
>
> Limit[Sin[a z]/(a z), z -> Infinity]
>
> it is not clear in which direction the limit is being taken. This
> depends on whether a is real or not (as Bobby Treat already pointed this
>
> out in his message),and of course there is the special case a==0.
>
> Since Limit does nto allow assumptions to be entered if you know that
> you will be dealing with such cases frequently one approach is to
> redefine limit:
>
> Unprotect[Limit];
>
> In[28]:=
> Limit[Sin[a_*x_]/(a_*x_), x_ -> Infinity] /;
>      Im[a] == 0 && a != 0 = 0;
> Limit[Sin[a_*x_]/(a_*x_), x_ -> Infinity] /;
>      Re[a] == 0 && a != 0 = Infinity;
>
> In[30]:=
> Protect[Limit];
>
>
> Now you need to enter assumptions about a's or b's, e.g.:
>
> In[31]:=
> a/:Im[a]=0;
>
> In[32]:=
> a/:(aâ? 0)=True;
>
> this says a is a non-zero real. Limit will now return the expected
> answer:
>
> In[33]:=
> Limit[Sin[a*x]/(a*x), x -> Infinity]
>
> Out[33]=
> 0
>
> similarly for the case when b is non zero and imaginary we will get:
>
> In[34]:=
> b /: Re[b] = 0;
>
> In[35]:=
> b /: b != 0 = True;
>
>
> In[36]:=
> Limit[Sin[b*x]/(b*x), x -> Infinity]
>
> Out[12]=
> Infinity
>
> If you are sure you are going to onl be dealing with non-zero real
> numbers you can redefine Limit to return always 0 in such cases, which
> may make it simpler to deal with a large number of them in one go.
>

>
>
>>
>> --
>> Dana
>> Windows XP  & Mathematica 4.1
>> = = = = = = = = = = = = = = = = =
>>
>> "JM" <j_m_1967 at hotmail.com> wrote in message
>> news:<aiat23$5b0$1 at smc.vnet.net>...
>>> Sorry for 'refreshing' this message but does anyone know if I can
>>> define the assumption below.
>>>
>>> I don't want to write specific assumptions for each term in Limit
>>> since I have many different variables and forms of a. Is it possible
>>> to generalise the assumption?
>>>
>>> it would really help me (and I really don't want to have to buy any
>>> additional maths software).
>>>
>>>
>>> timreh719 at yahoo.com.tw (bryan) wrote in message
>>> news:<ahdf97$i36$1 at smc.vnet.net>...
>>>> Hi All :
>>>>    I am also interesting in the solution of how to make an asumption
>>
>>>> in Mathematica. I can't find any method in Mathematica. If anybody
>>>> has the approch to do this , please send it to my e-mail too , Thank
>>
>>>> you all ..
>>>>
>>>> j_m_1967 at hotmail.com (JM) wrote in message
>>>> news:<ah8otr$aut$1 at smc.vnet.net>...
>>>>> I know that this should be 0 but why can't I get mathematica to
>>>>> think likewise.
>>>>>
>>>>>
>>>>> In[4]:= Limit[Sin[a*x]/(a*x),x->Infinity]
>>>>>
>>>>>               Sin[a x]
>>>>> Out[4]= Limit[--------, x -> Infinity]
>>>>>                 a x
>>>>>
>>>>> Is the problem a? How can I specify the properties of or
>>>>> assumptions that may be made about a?
>>>
>>
>>
>>
>
>
>



  • Prev by Date: Re: RE: RE: Installing package "SpreadOption`"
  • Next by Date: RE: RE: RE: Installing package "SpreadOption`"
  • Previous by thread: RE: Re: Limit[Sin[a*x]/(a*x), x -> Infinity]
  • Next by thread: RE: Re: Limit[Sin[a*x]/(a*x), x -> Infinity]