Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2000
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2000

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

Search the Archive

Re: Re: Got a trouble with the Limit[]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg22933] Re: [mg22864] Re: [mg22760] Got a trouble with the Limit[]
  • From: Andrzej Kozlowski <andrzej at bekkoame.ne.jp>
  • Date: Thu, 6 Apr 2000 02:04:49 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

on 4/3/00 4:33 AM, Kai G. Gauer at gauer at sk.sympatico.ca wrote:

> Andrzej Kozlowski wrote:
> 
>> on 00.3.24 5:28 PM, mason at mhl at tpts1.seed.net.tw wrote:
>> 
>>> Dear all,
>>> I had a trouble presenting the limit of a multiple defined function.
>>> I set    f[n_,x_]:=(1-(1+x)^-n)/x /; x>0&&x<1;
>>> f[n_,x_]:=0 /; x<=0 || x>=1;
>>> But I don't know how to show that
>>> Limit[f[n_,x_], n->Infinity] equals to 1/x, when 0<x<1
>>> Limit[f[n_,x_], n->Infinity] equals to 0, elsewhere.
>>> Regards
>>> Mason Lee
>>> 
>>> 
>>> 
>> 
>> Are you sure this is right? (Your function is  discontinuous at x=1).
>> Anyway,  what exactly do you mean by "I don't know how to show that..."? I
>> assume that you know how to show this without using a computer just by
>> referring to the elementary fact that a^(-x)->0 as x->Infinity if a>1 .
>> Mathematica cannot tell you this since there is not way to pass to it the
>> information that a>1  (Simplify with Assumptions in Mathematica 4 does not
>> work with
>> Limit[]). In addition there is a second problem, which  is that
>> Mathematica's Limit[] does not accept as input functions defined by multiple
>> rules, even in cases like this:
>> 
>> In[1]:= Clear[f]
>> 
>> In[2]:= f[x_] /; x < 1 := x;
>> 
>> In[3]:= f[x_] /; x >= 1 := x;
>> 
>> In[4]:= Limit[f[x], x -> 1]
>> 
>> Out[4]= Limit[f[x], x -> 1]
>> 
>> One could easily teach Mathematica do deal with such trivial cases but in my
>> opinion  there is no point in doing so. In any case Mathematica cannot
>> "really" find limits or "prove" much about them.
> 
> Everybody know that, but that's not really much of an excuse on
> Mathematica's behalf!  Remember the IEEE who brought us the standard
> 32-bit style of doing interval arithmetic the "best" way (their idea
> was to choose the intervals most uniformily to get "nice"
> approximations when searching for k points of a big "interval" of
> 2^2^(huh) (where huh is your favourite big number that would best
> satisfy you)). Unfortunately, this seems to be partially
> pseudo-excusable on Mathematica's behalf. After all, who really needs
> to print off the first ten billion digits of pi to your nearest t-shirt
> when you have the Ramanujan formula for getting the nth digit (much
> easier, since it's not as recursively dependent)?!?!?!?!! If you only
> need to plot or something, do a couple hundred sample points at most
> and hope for the best (if you can't hope for the best, chances are that
> you probably won't be able to prove your search results too much more
> rigourously either...look at the latest search of lim tan(x)/x^8 in the
> MAA periodicals). Most computer screens or printers (nor people who
> build them) just won't build a stronger resolution monitor, simply
> because we all ready have the best there is (limited to our eyes and
> the size of our audio cards). If you're looking at proofs, use
> L'hopital's rule a few hundred times (with approximations of limits
> subbed in when you don't know the exact value, and of course, you
> usually won't, unless you get very lucky in your differentiation). By
> the way, L'Hospital's Rule doesn't always work well, or even any better
> than when you started with: I know of at least one function (doesn't
> involve dirichlet type functions or anything like that, I even suspect
> it's quite continuous for most points, though I can't find out what it
> is) ..something to the effect of now matter how you split it up into
> numerator and denominator (where both are going to 0 or oo), there
> aren't too many obvious ways to split it in such a way that the nth
> application ofL'Hospital's derivative tells you exactly how much better
> you may or may not be getting. What I do remember about this function,
> however, is that after applin Hospital's rule twice (running the test
> to make sure it's still of proper form) is that you get the same
> function back as what you started with. To this day, I know of no way
> to choose the numerator and denominator to get rid of this sort of
> periodicity, to extend the interval (so that we may not notice this for
> two or more iterations) or whether when finding one such num-denom form
> means that we'll ALWAYS find other similar num-denom forms. Like I
> said, I don't explicitly have the nice, relatively simple to state fcn
> on me but I o know that it exists. However, that's basically all I know
> about it. If you know other things about this bad behaviour, please
> tell me!
> 
>> Limits properly speaking
>> belong to analysis which deals with continuous phenomena while computers are
>> by nature discrete. Mathematica can only deal with a relatively small number
>> of cases which can be reduced to some basic facts that are a part of its
>> "knowledge data base"  by applying certain algebraic  ("discrete")
>> procedures.( One example of such an algebraic procedure is the "L'Hospital
>> rule"). However, genuine proofs in analysis take the form of "epsilon-delta"
>> arguments, only the simplest cases of which can at this time be tackled by
>> "theorem proving" systems and none at all by Mathematica.  In any case one
>> should never try to use a computer to do something that is easy to do by
>> hand, particularly in mathematics.
>> 
>> --
>> Andrzej Kozlowski
>> Toyama International University
>> Toyama, Japan
>> http://sigma.tuins.ac.jp/
> 

I must admit I am not at all sure what you are trying to say. The point I
was making is that (in my opinion) Mathematica and other computer programs
are  suitable for dealing with problems which are "mathematically trivial"
and at the same time "computationally non-trivial". By "mathematically
trivial" I mean all those cases where a definite algorithm exists which will
in time lead to a solution. The meaning of "computationally non-trivial" is,
I think, pretty obvious. Lots of problems in analysis belong to the
mathematically non-trivial category.(I consider everything that can be done
using the L'Hospital rule as mathematically trivial). Of course even in such
cases a computer program can be of some value but can't provide you with a
complete solution by itself.  In fact (as I expect everyone knows) you have
to be quite careful how you use it. For example consider the folowing limit
problem: 

In[1]:=
Limit[n*Sin[2Pi*E*n!]/(2Pi), n -> Infinity]

---complaints from Mathematica--

Out[1]=
Limit[n Sin[2 E Pi n!], n -> Infinity]
--------------------------------------
                 2 Pi
Mathematica can't do this although I can quite easily prove that the answer
is 1. 
 Even if you try to use a numerical approach to get an idea (not a proof) of
what this limit is you have to be careful. A straight forward approach will
lead you astray:

In[2]:=
g[n_] := N[n*Sin[2Pi*E*Factorial[n]]/(2Pi)]

In[3]:=
Table[g[n], {n, 100, 1000, 100}]
Out[3]=
{-5.93642, 0., 0., 0., 0., 0., 0., 0., 0., 0.}

Totally wrong! What you have to do is something like:

In[4]:=
g[n_] := SetPrecision[n*Sin[2Pi*E*Factorial[n]]/(2Pi), 10000]

Then:

In[6]:=
Table[N[g[n]], {n, 100, 1000, 100}]

Out[6]=
{0.999243, 0.999811, 0.999916, 0.999953, 0.99997, 0.999979,
 
  0.999985, 0.999988, 0.999991, 0.999992}

Of course the orignal problem that started this thread was of a completely
different kind. That proplem was of the "computationally trivial" type,
which according to the above "principle", should not be done by means of a
computer at all. I admit that the fact that you can't imput assumptions
about parameters into Limit is a (minor) weakness, and I do not think that
the fact that it does not work with with functions defined by conditional
statements is of any practical importance. As I wrote at te beginning of
this message, I can't see what else there is here to argue about (?)


Andrzej Kozlowski
Toyama International University
JAPAN









  • Prev by Date: Re: molecular interactions
  • Next by Date: PSLQ and Mathematica 4.0
  • Previous by thread: Re: Got a trouble with the Limit[]
  • Next by thread: AmatureQ: clipping graphics? Small .nb attached