Re: final message
- Posted by jimcbrown (admin) May 24, 2012
- 1523 views
These are thingns of some consequence:
Primary facts:
1 There is no multiplicative inverse of zero.
Obviously true for basic arithmetic and so on. Simply false for certain mathematical systems (the trivial ring, wheel groups, etc.).
2 A Greatest Common Divisor has to:
. 1 be a divisor. ie it cannot be equal to zero.
. 2 be greater than any other divisor.
. Defining GCD(0,0) = 0 doesn't satisfy either
. condition 2.1 or 2.2.
No mathematical theory defines GCD(0,0) = 0.
The lattice theory article referenced defines
GCD(0,0) = 1 on the grounds that every integer is
divisible by 1. It doesn't satidfy 2.2.
Practical:
GCD(0,0) is given as 0 by a number of programming
languages because the Knuth algorithm would give
that result. Haskell gives it as undefined.
I admit that I'm skeptical with the broad claim you make that no mathematical theory defines GCD(0,0) = 0.
As a practical solution, GCD(0,0) = 0 makes sense to me. If nothing else, it's a simple and elegant way to signal to the caller that 0 was passed into GCD().
If used as a divisor it will likely produce an
exception or error. This would not necessarily occur
near where the exceptional result was produced.
I'd imagine that this would be the case most of the time. I can imagine a future version of the language (5.0 maybe) where, with strict_math turned on, an exception is thrown when GCD(0, 0) is called so these errors are caught immediately in programs that need it.
There is, of course, the other difficulty that the
language may not have a value to return for
'not an integer'.
Not sure if this complies with the IEEE spec, but we could always just return NaN.
0/0:
Not indeterminate. See 1.
I think you assume is true what you need to prove. 0/0 is indeterminate, as I have demonstrated elsewhere on this forum.
Can be defined to be any number with the consequence
of talking nonsense.
Or the trivial ring. Or as a simplification of the binomial theorem.
At some time you guys are going to have to admit that
you are seriously talking shit.
I don't believe you guys will ever take any notice of what an outsider has to say, but..
I think I can make a better case against you. Despite my constant and patient replies, you haven't as much as acknowledged my existence. Not to mention your constant attempts to belittle us (you could not think of a more politically correct term than "talking shit" ? Normally, I am sadden to see anyone leave these forums. However, considering your use of language and the misinformation you are trying to put out here, I am forced to admit that I'm quite glad to see you go.