Someone appoint that man head of NASA!

2006 December 8
by thudfactor

Via “XKCD”:http://blag.xkcd.com/2006/12/07/dividing-by-zero/ I see an English Computer Science prof thinks he’s solved the “divide by zero issue”:http://www.bbc.co.uk/berkshire/content/articles/2006/12/06/divide_zero_feature.shtml.

bq. Computers simply cannot divide by zero. Try it on your calculator and you’ll get an error message. But Dr. Anderson has come up with a theory that proposes a new number - ‘nullity’ - which sits outside the conventional number line (stretching from negative infinity, through zero, to positive infinity). [ "1200 year old problem 'easy'":http://www.bbc.co.uk/berkshire/content/articles/2006/12/06/divide_zero_feature.shtml ]

As XKCD points out, this not only fails to be a solution, it fails to be novel; there’s already representations of “division by zero.” See, for example, the “IEEE 754 floating point standard”:http://en.wikipedia.org/wiki/Division_by_zero.

But you can’t do much with IEEE754’s division by zero or “Nullity.” And why would you expect to? The result of division by zero is not a finite quantity, which makes it damned difficult to do arithmetic. If you divided by zero and got “Nullity,” what would do do with it? What is 6 × Nullity? Presumably it would have to be Nullity. 6 - Nullity? Nullity. 6 ÷ Nullity? Nullity. If you’re doing something like animation, pretty soon any number that came in contact with a Nullity in an operation somewhere is also Nullity. And where, exactly, do you put the bouncing ball when it is at point (Nullity,Nullity)?

bq. “Imagine you’re landing on an aeroplane and the automatic pilot’s working,” he suggests. “If it divides by zero and the computer stops working - you’re in big trouble. If your heart pacemaker divides by zero, you’re dead.”

Well, first of all we hope that these critical systems properly handle division-by-zero errors. They’re easily recognized and do *not* cause cartoon computer explosions or smoke to come out of robot-ears _a la Star Trek_. The programs say “whoops, you’ve divided by zero” and — if the programmer has provided the tools to deal with the error — finds a work-around.

But even with Nullity, you’re in deep doo. The program keeps working, perhaps, but what would happen to the pacemaker that tried to fire on Nullity seconds or the automatic pilot that tried to set altitude to Nullity? I think you’re still screwed. So what does Dr. Anderson think he’s solved?

See also: “Good Math, Bad Math”:http://scienceblogs.com/goodmath/2006/12/nullity_the_nonsense_number_1.php.