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: [mg46529] Re: how to explain this weird effect? Integrate
  • From: drbob at bigfoot.com (Bobby R. Treat)
  • Date: Sun, 22 Feb 2004 11:27:27 -0500 (EST)
  • References: <20040218182324.673$gV@newsreader.com> <c11se0$nkq$1@smc.vnet.net> <c14738$4bt$1@smc.vnet.net> <c16mc3$5q1$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

The problem with Floor[Cos[x]] may be related to this situation:

Floor[1 - 10.^(-17)]
1

Bobby

"David W. Cantrell" <DWCantrell at sigmaxi.org> wrote in message news:<c16mc3$5q1$1 at smc.vnet.net>...
> 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: sharing packages between multiple installations
  • Next by Date: need favor
  • Previous by thread: Re: how to explain this weird effect? Integrate
  • Next by thread: Re: how to explain this weird effect? Integrate