• Home
  • Journal
  • Finally, a solution to Division by Zero! (If You’re a Complete Idiot)

Finally, a solution to Division by Zero! (If You’re a Complete Idiot)


I noticed this link on Reddit a couple days ago, and finally got around to reading the article. WOW, it is amazing what people will do to get a little recognition these days. This idiot actually claims that he has solved the problem of division by zero…except that its not a problem at all, it has been solved. Anyway, this will explain it a little more in depth than I possibly could:

Nullity: the Nonsense Number

By Mark C. Chu-Carroll

Tons of folks have been writing to me this morning about the BBC story about an idiot math teacher who claims to have solved the problem of dividing by zero. This is an absolutely infuriating story, which does an excellent job of demonstrating what total innumerate idiots reporters are.What this guy has done is invent a new number, which he calls “nullity”. This number is not on the number line, can’t be compared to other numbers by less than or greater than, etc. In other words, he’s given a name to the basic mathematical concept of “undefined”, and proclaimed that this is somehow a solution to a deep and important problem.

The thing is, there is no problem. We understand what division by zero means. You can’t do it. There is no number that meaningfully expresses the concept of what it means to divide by zero.

You can assign a name to the concept of “not a number”, which is what this bozo has done; but that’s not new. The standard floating point representation used by computer hardware manufacturers (IEEE 754) specifically defines a set of values for operations that can’t return a meaningful number: NaN (Not a Number). NaN works as you should expect a non-number to work: it can’t be compared to anything, and no arithmetic operation works on it – because comparisons and arithmetic only work on numbers.

What he’s done is to take projective geometry – which (as I mentioned in the Steiner post a few weeks back) gives you some useful ways of using infinity; added the concept of a NaN value called nullity, and redefined the multiplication and division operators so that they’re defined to be able to produce nullity.

What good is it? Well, the crank behind it claims two things:

  1. That currently, dividing by zero on a computer causes problems because division by zero is undefined. But if computers adopted nullity, then division by zero errors could be gotten rid of, because they’ll produce nullity. Except of course that modern floating point hardware already does have a NaN value, and it doesn’t help with the kind of problem he’s talking about! Because the result is not a number; whether you call it undefined, or you define it as a value that’s outside the set of real numbers, it doesn’t help – because the calculation you’re performing can’t produce a meaningful result. He says if your pacemaker’s software divides by zero, you’ll die, because it will stop working; how will returning nullity instead of signalling a divide by zero error make it work?
  2. That it provides a well-defined value for 00, which he claims is a 1200 year old problem. Except that again, it’s not a problem. It’s a meaningless expression. If you’re raising 0 to the 0th power in a calculation, then something’s wrong with that calculation. Modifying basic math so that the answer is defined as NaN doesn’t help that.

Basically, he’s defined a non-solution to a non-problem. And by teaching it to his students, he’s doing them a great disservice. They’re going to leave his class believing that he’s a great genius who’s solved a supposed fundamental problem of math, and believing in this silly nullity thing as a valid mathematical concept.

It’s not like there isn’t already enough stuff in basic math for kids to learn; there’s no excuse for taking advantage of a passive audience to shove this nonsense down their throats as an exercise in self-aggrandizement.

To make matters worse, this idiot is a computer science professor! No one who’s studied CS should be able to get away with believing that re-inventing the concept of NaN is something noteworthy or profound; and no one who’s studied CS should think that defining meaningless values can somehow magically make invalid computations produce meaningful results. I’m ashamed for my field.

Further, the reporters who are breathlessly repeating his nonsense claims need to be sent back to school. If you can’t understand the subject that you’re reporting on well enough to recognize this as nonsense, then you shouldn’t be reporting on it.

Ian

This is my blog. I started it back in 2006 when I was finishing my undergrad at SDSU, kept going as I started my career and completed my MBA, and what do you know I'm still updating over 10 years later... It contains a little bit of everything about me - I'm an opinionated asshole sometimes, definitely a nerd, a gamer, a husband, a manager for a consulting company, a DJ and a musician, a grease monkey and a motorcycle rider...and a whole bunch of other things that probably are too offensive to mention. This blog has a lot of stuff I find funny, a little I find serious, and tons of information about my various and plentiful hobbies. I hope you find something here that's interesting to you. I'd love to hear from you, so feel free to comment or contact me! Thanks for stopping by!

Other posts by
  • Yeah, I read that on Slashdot or something. Ridiculously stupid. The fact is that this “nullity” bullshit effectively represents any number from infinity to negative infinity due to some basic algebra that some schmuck wrote to disprove the even sillier schmuck who came up with this.

    And divide by zero errors are just keeping coders from writing code that doesn’t make sense. Seriously. I’m glad it throws errors, because if it didn’t, we’d have noob programmers screwing shit up with this simple error by writing code that isn’t prepared to handle it.

    /end-pointless-tangential-rant

  • Yeah, I read that on Slashdot or something. Ridiculously stupid. The fact is that this “nullity” bullshit effectively represents any number from infinity to negative infinity due to some basic algebra that some schmuck wrote to disprove the even sillier schmuck who came up with this.

    And divide by zero errors are just keeping coders from writing code that doesn’t make sense. Seriously. I’m glad it throws errors, because if it didn’t, we’d have noob programmers screwing shit up with this simple error by writing code that isn’t prepared to handle it.

    /end-pointless-tangential-rant

Menu

%d bloggers like this:

Powered by TechAndTonic.com TechAndTonic.com