Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*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 2004

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

Search the Archive

Re: how to explain this weird effect? Integrate

  • To: mathgroup at smc.vnet.net
  • Subject: [mg46519] Re: how to explain this weird effect? Integrate
  • From: "David W. Cantrell" <DWCantrell at sigmaxi.org>
  • Date: Fri, 20 Feb 2004 22:59:19 -0500 (EST)
  • References: <20040218182324.673$gV@newsreader.com> <c11se0$nkq$1@smc.vnet.net> <c14738$4bt$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

drbob at bigfoot.com (Bobby R. Treat) wrote:
> I agree with Andrzej;

And I too agree with Andrzej much of the time! (But I hope that I agree
with him only when he's right. ;-)

Are you thinking that I advocated that Mathematica "just substitute limits
everywhere"? If so, I'm truly baffled. I have certainly never advocated
such a thing!

> Mathematica can't just substitute limits
> everywhere. To do so assumes a context that may not be relevant.

In my opinion, it would be even worse than assuming a possibly irrelevant
context. Evaluation of a function _at_ a certain value of the variable
and the limit of a function as the variable _approaches_ a certain value
are two fundamentally different things! It would be absolutely incorrect
mathematically to confuse the two.

Example: We want Floor[Cos[x]]/.x->0 to give us 1, just as it does in
Mathematica, rather than 0. If instead we actually wanted
Limit[Floor[Cos[x]], x -> 0], we should have to ask for it _per se_.

{Aside:
Hmm. Here's a bizarre coincidence. That example was just now made up by me,
off the top of my head. But I now see that Mathematica 5.0 gets the limit
wrong!

In[1]:= Limit[Floor[Cos[x]], x -> 0]

Out[1]= 1

It should be 0, of course. Yet another bug.
End aside.}

> More to the point, I simply don't want Mathematica to spend time
> computing limits without asking me. Sometimes these limits would be
> very slow to compute and Mathematica would sometimes fail to compute
> them, or even get them wrong.

I also agree with that.

> I'd rather have an error message, so that I know there's a formal
> discontinuity to deal with in context.

If something's undefined, I too want to be informed about that fact.

David Cantrell


> Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote in message
> news:<c11se0$nkq$1 at smc.vnet.net>...
> > On 19 Feb 2004, at 00:23, David W. Cantrell wrote:
> >
> > > Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
> > >> On 15 Feb 2004, at 04:19, steve_H wrote:
> > >>
> > >>> Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote in message
> > >>> news:<c0kr0g$fo8$1 at smc.vnet.net>...
> > >>>> On 14 Feb 2004, at 03:56, steve_H wrote:
> > >>>>
> > >>>>> mathematically speaking, 1/a when a=0, is the same as Limit[1/a ,
> > >>>>> a->0] So, the final answer should not be different.
> > >
> > > Right. The only reason that they differ in Mathematica is that, when
> > > finding Limit[1/a, a->0], Mathematica assumes a specific path, namely
> > > that
> > > a approaches 0 along the positive real axis. But if we're dealing
> > > with a
> > > path-independent limit and with, say, C* = C U {oo}, the one-point
> > > compactification of C, for the domain and range of the function f(z)
> > > = 1/z,
> > > then f is continuous: f(0) and the limit of f(z) as z -> 0 are both
> > > oo.
> > >
> > > [snip]
> > >> It is precisely the fact that
> > >>
> > >> Limit[(f[x+h]-f[x])/h, h->0] is not obtained by "substituting" 0 for
> > >> h,
> > >> that is the key point here.
> > >
> > > That key point is, of course, correct.
> > >
> > >> What you wrote, that is that 1/x at 0 is the same as Limit[1/x,
> > >> x->0] is entirely wrong mathematically.
> > >
> > > No, it is correct, at least in contexts familiar to me:
> > >
> > > 1) If we take the codomain of f(x) = 1/x to be R or C, then f(x) is
> > > undefined at x = 0 and the corresponding limit does not exist.
> > > Granted, the
> > > usual wordings "undefined" and "does not exist" are different, but
> > > they're
> > > saying essentially the same thing.
> > >
> > > 2) If we take the codomain to be C* or R* (the one-point
> > > compactification
> > > of R), then f(x) is defined at x = 0, the corresponding limit exists,
> > > and
> > > they are the same.
> > >
> > > Note that, above, I was talking about path-independent limits. But,
> > > for better or worse, Mathematica assumes a specific default path when
> > > finding
> > > Limit[1/x, x->0]. Due to that, it yields Infinity. But the
> > > corresponding
> > > path-independent limit should give ComplexInfinity, which is the same
> > > as
> > > the value of 1/x at x = 0 in Mathematica.
> > >
> > >> It is the kind of thing that is used when people speak informally,
> > >> or perhaps by engineers who do not care
> > >> about mathematical correctness but only if things work in practice,
> > >> but
> > >> it was you who wrote "mathematically".
> > >
> > > There's nothing inherently informal or incorrect in such usage.
> > >
> > >> Mathematically, the real valued
> > >> function written as 1/x has no value at all at 0.
> > >
> > > True.
> > >
> > >> There is no real or complex number called Infinity or
> > >> ComplexInfinity.
> > >
> > > True. Those are instead elements of extensions of R and C, resp.
> > >
> > >> On the other hand
> > >> Limit[1/x,x->0] = Infinity has a well defined sense: it means that
> > >> for all x which are  small enough  1/x will exceed any chosen
> > >> number, however large.
> > >
> > > More specifically (remembering the default path),
> > > ... for all _positive_ x which are small enough...
> > >
> > > But such a limit statement can have _different_ well defined senses,
> > > depending on context. I presume that, for you, the context was
> > > strictly that of the reals. In that case, saying "Limit[1/x,x->0] =
> > > Infinity" is merely giving a specific way that the limit fails to
> > > exist. As you said,
> > > it's because "1/x will exceed any chosen number, however large." But
> > > if the
> > > context is instead R* or C*, then it's literally (and rigourously)
> > > correct
> > > to say that the value of the path-independent limit _is_ oo.
> > >
> > > [snip]
> > >> In fact the situation is
> > >> exactly the opposite of what you wrote, this kind of thing may be
> > >> acceptable in a practically oriented mathematical program like
> > >> Mathematica, would not be in a serious mathematics book (or at least
> > >> the author would make excuses about the informality assuming that
> > >> everybody knows the true state of affairs).
> > >
> > > No, "this kind of thing" can be perfectly acceptable "in a serious
> > > mathematics book"!
> > >
> > >>> Do you know of a function that is well behaved and smooth at a
> > >>> point 'a', where  the limit of f(x) as x approaches 'a' will not be
> > >>> f(a) ? if
> > >>> so, please tell us about this function.
> > >>
> > >> Were you joking? This is the definiton of continuous at a. 1/x is
> > >> not defined at 0 and there is not way to define it so as to make it
> > >> continuous at 0.
> > >
> > > Sure there is a way: Take its codomain to be R* or C*, for example.
> > >
> > > David Cantrell
> > >
> > >
> > You are entering into a pointless dispute which is about definitions at
> > best and has nothing to do the aims of this list. But is you like ....
> >   One can of course consider functions with values in the Riemann
> > sphere. (I certainly know about that since I am a professor of
> > mathematics, a topologist, and most of my comparatively recent
> > published work has been, in fact,  on the topology of the space of
> > holomorphic functions form complex projective spaces to the Riemann
> > sphere and related stuff). But when you compactify the complex plane
> > (and of course you can do the same thing with the real line though you
> > need two extra points, which you can call Infinity and -Infinity  and
> > topologically you get the interval) you are no longer dealing with real
> > valued or complex valued functions. The range of your functions is no
> > longer a field, either of real numbers or complex numbers. You can no
> > longer perform ordinary algebraic operations on your functions and you
> > have to introduce lot's of additional care. All of this needs a lot of
> > additional justification and one would expect a serious mathematician
> > to know that. Of course if one is talking with people to whom this sort
> > of thing is bread and butter one need not go into the details each time
> > but this list is not such a place.
> > Moreover, even to assume that when 1/x is a function in the complex
> > plane not to mention on the Riemann sphere is actually choosing one
> > context for Mathematica, which is not the only context in which
> > Mathematica is used. Actually x can equally well be n element of an
> > abstract abelian group written multiplicatively, or, say an element of
> > the ring Z/p for a prime p, etc. Mathematica deals with such things
> > too. To say that 1/x is not defined at 0 as Infinity is nonsense,
> > though of course one could actually always define some sort of new
> > mathematical object that allows one to do that. But that is completely
> > beside the point, mathematics is very flexible and if you do not have
> > an actual contradiction one can usually invent knew theories or new
> > conventions to make sense of what was nonsense before. That is what
> > happened with Leibniz, Abraham Robinson and non-standard analysis. But
> > bringing up these issues here seems to me only like trying to show off
> > ones mathematical knowledge without any relevance to Mathematica, which
> > is not intended for this sort of theoretical and specialised purposes,
> > though of course one can always adapt it oneself if one needs it. The
> > reason not do do so in Mathematica is of course that buy forcing on it
> > a particular interpretation you are making it harder for other peoples
> > to use theirs, even your proposal to use automatically continuous
> > extensions of certain functions might make things harder for people who
> > needed to work with discontinuous functions, and forcing on certain
> > expressions interpretations taken form complex analysis will make it
> > harder for people who want to use them to work in abstract ring theory,
> > without a topology and nay infinities.
> >
> >
> >
> > Andrzej Kozlowski
> > Chiba, Japan
> > http://www.mimuw.edu.pl/~akoz/


  • Prev by Date: Re: Help Browser issue in 5.0.1 on Mac OS X
  • Next by Date: AuthorTools Bibliography
  • Previous by thread: Re: how to explain this weird effect? Integrate
  • Next by thread: Re: how to explain this weird effect? Integrate