Re: Zero divided by a number...

*To*: mathgroup at smc.vnet.net*Subject*: [mg51913] Re: Zero divided by a number...*From*: DrBob <drbob at bigfoot.com>*Date*: Thu, 4 Nov 2004 01:52:02 -0500 (EST)*References*: <20041103190554.052$Ay@newsreader.com>*Reply-to*: drbob at bigfoot.com*Sender*: owner-wri-mathgroup at wolfram.com

>> If x = 0, then x/0 is Indeterminate, rather than ComplexInfinity. You got me on that one, but it's a non-difference unless you can show me a use for ComplexInfinity that doesn't apply just as well to Indeterminate. Besides, if x/0 is Indeterminate but 1/0 is ComplexInfinity, what if x = 1? That doesn't seem very consistent, and in fact it leads to problems like a recent poster's issue with a Sum of Binomials. > But Mathematica's result of ComplexInfinity _is_ correct mathematically (in > the extended complex number system, of course). Not "of course". ComplexInfinity isn't a number if you can't do arithmetic with it, and the documentation doesn't explain what we should expect from the concept. > Not a good argument. By precisely that same reasoning, 0 shouldn't be "a > full-fledged member of the algebraic system" either 0 is the only thing in a Field that has no multiplicative inverse (it's part of the DEFINITION of a field -- not an exception to the rules). If ComplexInfinity also has no inverse, your extended complex number system isn't a field, and the non-zero elements are not a group. Topologically the point at Infinity can be a useful concept, but we don't do much topology in Mathematica. Defining Gamma so that 1/Gamma[z] is entire would be useful, but Mathematica doesn't accomplish that. I'm not sure why Plot doesn't hiccup on this, for instance: Plot[Evaluate@D[1/Gamma[x], x], {x, -3, -1}] since evaluating the first argument at either endpoint gets us an error message. D[1/Gamma[x],x] /. x -> -3. (error message) Indeterminate That happens because Gamma is ComplexInfinity at the -3 and 0*ComplexInfinity == Indeterminate (use Trace). So again, using Gamma[-3] = ComplexInfinity doesn't help us -- just as it didn't help us in that Sum of Binomials. >> In fact, defining Gamma[-5] in that way _does_ remove the discontinuity. >> [As z -> -5, regardless of the path in the complex plane, |Gamma[z]| >> increases without bound.] True enough, if "increases without bound" is all it takes, and the definition makes Gamma act like a continuous function in some useful sense. But it doesn't. 1/Gamma[z] should be entire in the extended plane, but in Mathematica, it isn't. The only usage I've found that works the way we might expect seems to be x / ComplexInfinity (with undefined x), which evaluates to 0 -- but that's not actually right, since: ComplexInfinity/ComplexInfinity (error message) Indeterminate Hence x / ComplexInfinity (with undefined x) should be left unevaluated or replaced with Indeterminate. Similiarly, ComplexInfinity - ComplexInfinity (error) Indeterminate Once again, ComplexInfinity fails to act like a number. If it were a non-zero number in a field, the ratio would be one and the difference would be zero. We'd get the same answers (Indeterminate) in both cases if we replaced ComplexInfinity with Indeterminate, so why not use Indeterminate? So... ComplexInfinity may be a "member" of the extended complex plane, but it dosn't walk or quack like a NUMBER. Whenever I see ComplexInfinity, I'll read it as Indeterminate and lose absolutely nothing. But it's still there in the background, mucking things up. Bobby On Wed, 3 Nov 2004 19:05:54 -0500 (EST), David W. Cantrell <DWCantrell at sigmaxi.org> wrote: > DrBob <drbob at bigfoot.com> wrote: >> > In Mathematica, it is _not_ true that "x/0 is undefined for any number >> > x." Rather, for any nonzero x, x/0 is defined as ComplexInfinity. >> >> You mean for any x, zero or not. > > No. I meant precisely what I said. If x = 0, then x/0 is Indeterminate, > rather than ComplexInfinity. > >> Let's not confuse Mathematica's result for an expression with a useful >> mathematical definition of it. > > ??? > But Mathematica's result of ComplexInfinity _is_ correct mathematically (in > the extended complex number system, of course). > >> x/0 is undefined, no matter WHAT >> Mathemematica does with the expression. > > Wrong. > >> Consider this: >> >> Simplify[x y/x] >> y >> >> Simplify[ComplexInfinity y/ComplexInfinity] >> Indeterminate >> >> As you can see, ComplexInfinity isn't a full-fledged member of the >> algebraic system. > > Not a good argument. By precisely that same reasoning, 0 shouldn't be "a > full-fledged member of the algebraic system" either: > > In[1]:= Simplify[0 x/0] > > Out[1]= Indeterminate > >> As another example, Gamma[-5] returns ComplexInfinity, but that doesn't >> mean defining Gamma that way (into the extended complex plane) removes >> the discontinuity -- which is what we'd like from a meaningful extension >> of Gamma. > > In fact, defining Gamma[-5] in that way _does_ remove the discontinuity. > [As z -> -5, regardless of the path in the complex plane, |Gamma[z]| > increases without bound.] > > David Cantrell > > >> On Tue, 2 Nov 2004 02:05:11 -0500 (EST), David W. Cantrell >> <DWCantrell at sigmaxi.org> wrote: >> >> > rwprogrammer at hotmail.com (Richard) wrote: >> > [snip] >> >> Mathematica handles 0 appropriately. x/0 is undefined for any number >> >> x. >> > >> > In Mathematica, it is _not_ true that "x/0 is undefined for any number >> > x." Rather, for any nonzero x, x/0 is defined as ComplexInfinity. >> > >> >> This is extremely simple to see if only you view division as the >> >> opposite of multipication. >> > >> > That view of division is simply inadequate in number systems (such as >> > the extended complex numbers) in which division of nonzero quantities >> > by zero is defined. >> > >> >> A/B = C implies that C * B = A. >> >> >> >> 12/4 = 3 because 3*4 = 12. >> >> 0/7 = 0 because 0*7 = 0. >> >> 7/0 is undefined because x*0 does not equal 7 for any number x. >> >> Therefore it has no answer (except undefined). >> > >> > In Mathematica, 7/0 yields ComplexInfinity, but that certainly does not >> > imply that 0 * ComplexInfinity = 7. (In fact, 0 * ComplexInfinity is >> > Indeterminate in Mathematica.) >> > >> > David Cantrell > > > -- DrBob at bigfoot.com www.eclecticdreams.net