Dividing by Zero

I’ve gotten a few emails about a math professor who claims to have solved the problem of dividing by zero.

With the caveat that I am not a professional mathematician, I’m pretty sure this is silly. For one, any time that you have a major, front-page scientific or mathematical result reported by a mainstream news organization that does not contain some version of the phrase “this discovery, which was published in [name of major peer-reviewed journal],” you are probably looking at a news organization that is not doing their job. Until I see a group of mathematicians look over his results and say that they are consistent and significant extensions of the current body of mathematics, I’m really not buying it.

The other reason I’m not buying it is that I don’t see how you can “solve” that problem. The article says that the whole idea is that this can make divide-by-zero crashes go away. This doesn’t really make sense. When I worked with LabVIEW, one thing I noticed was that the result of dividing by zero was propagated through the system as “NaN” — Not a Number. This didn’t make anything work better. It just pointed out that I had made a mistake somewhere. If you have set up an equation where you are trying to divide by zero, you have done something WRONG. You can make the system fail gracefully or not, but that’s a matter of crash handling. Just spitting out the result “Nullity” doesn’t fix things. Sure, you could then make the next part of the program handle “Nullity” as a special case. But that’s not mathematical, that’s algorithmic.

Now, it’s true that this is sounds similar to the way the mathematical community responded to the idea of the square root of minus one being treated as a number, which was only really accepted in the 19th century, or the way negative numbers were dealt with before that. But I don’t think dividing by zero is really the same thing. Until someone can do more than just use a word like “Nullity” to mean “Undefined” (I remember trying that in 10th grade), this isn’t a useful concept, and it’s not going to stop programs from crashing when the programmer writes a function with an equation that’s supposed to spit out a real number and doesn’t. We’ve been using symbols to refer to the result of dividing by zero for years now. They don’t mean anything mathematically and they don’t solve any problem.

107 thoughts on “Dividing by Zero

  1. Well, it’s clearly nonsense, but perhaps some pissed-off pop musician could popularize the “Nullity” symbol by adopting it as his name.

    Like

  2. Allow me to echo your sentiments. There are already several programming languages that have a “nullity” value (NaN), and they don’t make the situation better, they make it worse. If a divide by zero occurs, no useful data can be produced. It’s better to throw an error, thus pinpointing the location of the problem, than to create a junk value and propagate it up to where the user can see it. For instance, see the bottom of this Daily WTF.
    And, as you point out, this is not similar to complex numbers. If I square i, it comes out to -1. If I multiply “nullity” or NaN by 0, I get nullity/NaN.
    So basically: stupid and useless.

    Like

  3. Yeah, I’m having a hard time seeing anything here that hasn’t been thought of before. I mean, it just doesn’t make a damn bit of sense.

    How does it help with computer programs. I mean, it’s great if somehow your program doesn’t crash on that operation… I mean, how about a try/catch block or something! But what about what happens when you try to perform another operation with that number:

    a / 0 = b;
    b++;

    Really, it’s context sensitive what needs to happen in that case, so error handling seems always more appropriate, and throwing an error instead of silently returning a non-numerical (to a computer) result for use in other operations is a no-brainer.

    Who could anticipate how to overload the mathematical operators to use a NULLITY datatype in a way that would be useful for everyone, and not create even deeper data integrity problems.

    How embarrassing for them.

    Like

  4. Pingback: ScottLog » Blog Archive » Go ahead, divide by 0

  5. Apologies to the math professor, and assorted and sundry geeks, but all this did was put this song in my head…

    Nothin’ from nothin’ leaves nothin’
    You gotta have somethin’
    If you wanna be with me

    Like

  6. While it’s definitely not the same as taking the square root of negative one, it’s analogous. Before the concept of imaginary numbers came about, taking the square root of a negative number was just as bad as dividing by zero – i.e., undefined. Then somebody said, hey! let’s define this undefined value; we’ll call it i for “imaginary”. Nobody knew what could be done with it at that time, of course, but now many years later we have the whole “multiple roots” concept, cos+i*sin, etc. Who knows what uses we’ll find for “nullity”?

    http://xkcd.com/c171.html

    Like

  7. “this discovery, which was published in [name of major peer-reviewed journal],”

    Proceedings of SPIE (Society of Photo-Optical Instrumentation Engineers) probably doesn’t count as peer reviewed or major mathematical journal, but… http://spiedl.aip.org/vsearch/servlet/VerityServlet?KEY=PSISDG&smode=strresults&sort=rel&maxdisp=25&threshold=0&pjournals=PSISDG&possible1=james+anderson&possible1zone=article&SMODE=strsearch&OUTLOG=NO&deliveryType=spiedl&viewabs=PSISDG&key=DISPLAY&docID=2&page=0&chapter=0

    Like

  8. The stupid thing is, mathematicians *already* work with the result of dividing 1 by 0, in situations where it’s relevant: for instances of this, google “meromorphic function” and/or “Riemann sphere”.

    Like

  9. Hi,

    I’m from Brazil and i’m having problems to access your site. I tried from various PCs over different internet providers and did not have success. I can only access trough some web proxy, like i’m doing now. Maybe the IP range from us (200.*.*.*) and (201.*.*.*) is blocked in your host?

    Thanks!

    Like

  10. It’s not really about dividing by zero. He claims he’s developing a mathematical system (I think it’s a field, but I’m way out of my league) over a superset of the real numbers which is completely closed and consistent. And then he goes further and creates a theory of computability around this system and ends up with something that’s supposedly more powerful than a Turing machine.

    It’s the kind of thing that would be completely awesome if it checked out, but which I can’t help being skeptical about until it gets a lot more review. To his credit, it looks like he’s gotten farther than most of the pseudomath crackpots.

    Like

  11. To put it simply, this guy is a moron. The idea that x/0 is nullity is useless without an application for this supposedly-breakthrough-number nullity.

    Like

  12. As a total math nerd, I can tell you that it’s completely ridiculous.

    Using his argument style, with N = Nullity: 0^1 = 0^(1 + 0) = 0^1 0^0 = 0 * N. This should not surprise, because he has claimed that N = 0/0, so it should not surprise that, if we allow that operation, then 0 N = 0.

    But now notice that this means 0 (0/0) = 0. If multiplication is still associative, then (0 * 0) / 0 = 0, and we all know that 0*0 = 0, so 0/0 = 0, leading to the statement that N = 0.

    That’s the guy’s own math, speaking. N becomes a real number, and that number is zero, based on the operations that we’ve observed him to perform to dance around this number.

    Of course, here I’ve simply assumed that N and 0/0 are interchangeable and multiplication is associative. If I assume that N can be added, subtracted, multiplied, and divided, I get even weirder results. Consider:

    0 N = 0

    0 N N = 0 N = 0

    0 (NN – N) = 0

    I’ll take the liberty of multiplying by any constant k I wish, yielding:

    k 0 (NN – N) = k 0 = 0

    k(NN – N) = 0/0

    k (NN – N) = N

    NN = (1/k + 1) N

    N = (1/k + 1).

    Evidently, N is equal to any number I want it to be, except maybe 1, if you can add, subtract, multiply, and divide with it as if it were a normal number.

    Et cetera. The whole idea is bogus. The limit of x^y is undefined as both x and y go to zero, but is taken to be 1 for most applications (out of utility in certain contexts).

    In short, we solved this problem a long time ago, and it wasn’t by saying that 0^0 was an actual number. It was by L’hopital’s Rule plus extras in more advanced mathematics.

    Like

  13. Actually, he specifically says that (if nullity = N), N * 0 = N, not 0. He also says that N + A = N, for all A, and that N^-1 = N. So basically, once you get into N, you can’t get out. This is how this differs from i: you can have i, 2i, -5i, 4+7i, etc. You can’t do any of that stuff with N. You either have a real number or you have N. It’s not precicely the same as the IEEE NaN, but it’s approximately equally useful: it’s better to have this than to have nothing of the sort in real-world computation, but is completely uninteresting mathematically. And since we already have NaN, we don’t need N.

    Like

  14. I will admit I don’t have any real number or set theory, but I have enough higher math to read through his actual .pdf of his “Division by Zero” paper (link to it here: http://www.bookofparagon.com/), and it in fact does not look nearly as crazy. Particularly, his system is based around zero times infinity is nullity. Other axioms (to prevent the kind of abuse in the post above me): k N = N, k+N=N, N to the -1 = N, 0 to the -1 = infinity, infinity to the -1 = 0.

    Like

  15. Pingback: txt.twoday.net

  16. Making up a number isn’t really a solution, otherwise I solved this years ago with the solution “Twelfty”.

    Like

  17. The best part of it all is the prof. is extremely self-satisfied. I agree with the point that it isn’t rt(-1), because 0 / 0 is not 1, and as we see in calculus, it ends up being anything we want it to be (well, actually 0/0 is still undefined, but lt x->0 f(x)/g(x) where lt x-> 0 f(x) = 0 and lt x->0 g(x) =0 is what we want it to be). So it’s still undeterminate, and the proposal doesnt’ achieve anything.
    This absolutely calls for a comic.

    Like

  18. Pingback: Thudfactor » Someone appoint that man head of NASA!

  19. Trutle gave us a few sites, i looked at one of the papers, it didnt’ make sense, the paper states that 0^-1 is infinity, but shouldn’t it be nullinity being as that would be 1/0? I think there is an obvious flaw in how this works.

    Like

  20. It’s certainly ‘possible’ to come up with whatever axioms you want, but is it ‘useful’?

    Here’s my axiom: whosoever divides by zero has to send me a cake.

    Like

  21. from http://www.cs.reading.ac.uk/people/J.Anderson.htm : “He invented the perspex machine and continues to develop it. The perspex machine is a theoretical computer that is more powerful than the Turing machine.”

    Um, no? The Turing machine is universally accepted as the most powerful model of computation known; if this were true, it would have taken the computer science world by storm. And it would have been published in ACM or Theoretical Computer Science, not the Society of Photo-Optical Instrumentation Engineers. He’s a crank.

    Like

  22. I fail to see how his idea is any different to Hyperreal numbers which are a better and older implementation of a similar system to deal with infinitesimals and infinite numbers

    Like

  23. The “perspex machine” can supposedly handle real numbers which Turing machines can only approximate.

    Like

  24. Division by zero is absurd, but triviality is quite useful.

    http://sciphysicsopenmanuscript.blogspot.com/

    There are 3 existential types, not just 2.

    1) That which exists.

    2) That which does not exist.

    3) That for which existence is indeterminate.

    Any trivial is of the third type because “The Existence of a Trivial is Indeterminate”.

    This last statement can be proved quite easily. It says that given any unique object, there is no way to determine if the object is really itself, or if it is in fact a trivial clone of itself. This is indeterminate.

    One can exploit this existential indeterminacy of the trivials to make all kinds of unusual models.

    http://sciphysicsopenmanuscript.blogspot.com/

    But division by zero ? I dont think that this will ever work.

    Huang

    Like

  25. I don’t really see the problem with this. Why define ‘nullity’ when you have the perfectly acceptable ‘infinity’?

    Answer: you want to have more rigorous mathematics, or, as I like to call it, you’re into ‘anal-maths’.

    I mean, what IS the difference between saying that ‘nullity’ plus any number A (as used above) equals ‘nullity’, and infinity plus any number A equals infinity?

    Nothing, that’s what. You can use all the ‘roughly equals’ or nick-names you want, but it is still the same.

    So what is the big deal?

    1/0 ‘=’ Inf(). If you want to define it so it is something else, sure. Go ahead! But really, why bother?

    Like

  26. I would actually like to take credit for that… in high school, I figured that since i = sqrt(-1), and there was that whole i, j coordinate system, that it should be that j = 1 / 0.
    Stupid idea now, but if he gets any money form this, I deserve royalties.

    Like

  27. =O! XD That’s so far off, from what I’ve read I’m surprised even a GCSE class couldn’t pick up some flaws. It’s like the problems you see where 1=2 or 0=1. It looks good when you first glance at it, but when you study it you can just see it’s a neat little trick.
    With sqrt(-1) you can use a symbol to represent it, there’s nothing wrong with using a consisten symbol to make things easier. With his idea though there’s no such usage.
    For one thing, taking a/0, I can see that it’s undefined, yet he wants to say that’s a*N which is N yes? Well if a/0=N then a=0*a*N… a*0 is 0 so a=0*N, which from what was said before means N=a…I mean, there just seem to be too many points where his ideas are not working. Simply because an equation with a/0 can be rearranged. That’s the difference between his and sqrt(-1). We can’t rearrange sqrt(-1) in the same way we can a/0, we know that anything multiplied by 0 is 0, so, we can’t just make up things like he has. Ach, well, good try on his part though anyway. =)

    Like

  28. I’m surprised that the full text of his articles are publicly available. It has been my experience that any significant, refereed article that one might want to cite is only available through my university library website because my university pays money so that i can access them.
    I haven’t read through the papers but I do agree with two things.

    1. The publicity is due to the fact that this is being taught to kids.

    2. That nullity is just another word for NaN, which is probably useless to a computer program that needed a number. Surely it is better to produce an error.

    Who knows, there may be some well defined operations on the reals union {nullity} but either they are not useful or they contradict other things. In any case, the mathematicians are not impressed yet.

    Like

  29. Good gravy: ah, so the perspex machine is more powerful than a turing machine in that it is not a model of effective computation… Not useful, no reason to be interested.

    There is interesting work on real number computation, but of course one has to approximate reals somewhere (and hence be turing-equivalent), otherwise how could you ever (conceptually) build the damn thing?

    Like

  30. I agree with you.

    Something else that’s amusing, he calls it nullity, I’m forced to wonder if he does or doesn’t realize how confusing that is since in linear algebra/matrix theory nullity is the dimensions of the null space of a given matrix…

    Like

  31. “Something else that’s amusing, he calls it nullity, I’m forced to wonder if he does or doesn’t realize how confusing that is since in linear algebra/matrix theory nullity is the dimensions of the null space of a given matrix…”

    Given that his entire Perspex Machine theory of computation, in which nullity figures, is based on matrix multiplication, I suspect that this is not an accident.

    The Perspex looks cute, it’s basically a spacetime (3D + 1D where t can only go forward) geometrical embedding of a Turing machine with properties of a neural network. His ‘nullity’ is used in its compare/jump instruction / truth table as the ‘don’t care’ outcome. (Every instruction is a read, matrix multiply, store, compare with zero, with four outcomes: 0, =0 and nullity, which seems to be always true.) Its theoretical ‘more powerful than a UTM’ properties come from that it uses true reals, not rational approximations, but as he points out, it is an open question in physics as to whether it is even possible for such a device to exist in our universe. But since when has that prevented a theoretical abstraction from being a useful tool?

    The whole theory seems to have grown out of a machine vision / cognition hack, trying to figure out what is the simplest representation of 3D visual elements that can be recognised by a machine under perspective transforms, and then generalising that as a computing apparatus in the same way that the human visual cortex might function as a universal pattern recognition system.

    He might be wacky, but then again he might be onto something. Buckminster Fuller and Christopher Alexander also read like crazies with geometry-as-thought obsessions, but they seem to be thinking along similar lines.

    Like

  32. Amid many posts saying “haha how silly,” Snipergirl points out that mathematicians have devised various systems for reasoning about infinitesimals and infinites, so whatever the merits or demerits of Nullity, the idea of such a system at least isn’t silly.

    Gabe said, “The Turing machine is universally accepted as the most powerful model of computation known;” This is not strictly true. While they are equivalent to all other models which can be built/run, Turing himself went on to develop models of more powerful machines called Oracle machines. Just assume a machine can answer the halting problem. What else could it do? What could it still not do? Repeat that sequence indefinitely.

    The models may not be practical but they are of interest mathematicians and theoretical computer scientists who like to climb what I believe they call the Borel hierarchy. But now I am over my head, or under my feet as the case may be.

    Like

  33. Ha! I *knew* I was ahead of my time! Take *that*, Miss Savitske! In BC Calc in high school I used to annoy my math teacher by insisting that infinity was a number (she insisted that infinity was not a number and as such, did not exist).

    Anyway, figure that if R / 0 = INF then INF * 0 = R (where R is any real number). Introduce a new, magical symbol called ZAN, written as a three-way figure-eight (or a zero lazily mushed into an infinity).

    ZAN is infinity * zero, and it is equal to any real number. Thus it can be used as a correct answer for ANY math problem!

    She really started getting pissed at us when we’d actually write the symbol for any problem we didn’t know the answer to. ;-)

    Like

  34. Well, this really is silly. Division by zero is nothing new, and is an absolutely integral part of basic calculus. No calculus would be possible if we didn’t know how to properly divide by zero. This guy is basically attempting to solve a non-problem in mathematics.

    Like

  35. The problem is that this guy’s sloppy. He says in his discussion of trig functions, “We accept nullity unless there is good reason not to. For example, we accept a limit where it exists.” However, just about everywhere else, he takes nullity as the answer in place of established limits.

    Like

  36. I came up with that when I was thirteen and first learned about the square root of negative one. It seemed obvious that you could do the same thing when you divided by zero, i.e. assign the result a letter or symbol and work with it that way. Then my dad had me try to actually do anything useful with my discovery and it all fell apart. :D

    Now that I think about it, maybe I was just pissed about the square root of -1, and trying to prove that it was stupid. (“If you can do that, you could do the same thing for 1/0!”) I did mention I was thirteen, right?

    Like

  37. Seems to me that nullity is, in and of itself, utterly worthless.

    i is useful (practically) only when it cancels out, and nullity’s NaN-like propagation through equations makes it impossible to cancel out, even by dividing it by itself.

    If his magic Perspex Machine (c.f., any Great Glass Clock in literature/bad made-for-tv films with Paul McGann) works, then that’s different. But I doubt if 13 year olds will understand it anyway, so teaching them nullity is self indulgent and irresponsible, and for that reason alone we should mock him.

    Like

  38. Oh, and a good way to mock him is by repeatedly asserting that nullity is “not a real number” around non-mathematicians who don’t know what the strict definition of “real number” is. He’ll have a hard time explaining his way out of that, I reckon.

    Like

  39. If you want to save yourself the time of reading his articles, here’s a summary:

    Nullity = NaN
    1/x is not a function, but rather a relation (it equals infinity AND negative infinity, but not at the same time)

    Nothing he says is technically wrong, but that’s because he defined any problem areas as being equal to nullity in his axioms.
    He basically took anything that was undefined, and renamed it nullity and said that it was now defined.

    The rest is my personal rant about this:

    The closest thing to useful he gets is differentiating between infinity and negative infiniity. Whether or not that’s actually useful is really quite debatable, but since infinity can’t really come up physically, it’s probably not problematic.

    That and using his nullity as an error checking to prove why the old x^2-x^2=x^2-x^2 –> 2x=x doesn’t work could be called useful. (Saying division by zero isn’t allowed works too however, just a different way of saying the same thing really)

    As many have stated, the main problem is that once you “enter” the nullity values, you’re stuck. No operations reverse nullity, and until an operation turns it to either 0 or 1, then it’ll be useless.
    Consider the usage of i in phasors. Phasors come in handy, but this is because a*e^b*i lets us take b as an angle. For nullity, as long as f(nullity)=nullity for all functions (as far as I’m concerned, he demonstrated this fairly satisfactorily), then we can’t use nullity for a conceptual approach the same way we do with i.

    Not sure why I’m bothering, but in his defence, anyone who claimed that he has contradictory statements (i.e. the a/0=N therefore a=0*N=N) didn’t follow the axioms he set properly (mostly by skipping the steps in rearranging). His math is all right… just useless.
    (i.e.
    a/0=N
    0*a/0=0*N
    N=N)

    So remember, when your weather program can’t handle a small exponent, instead of getting NaN degrees outside, this guy wants you to say Nullity degrees outside. So much more meaningful….

    Steve

    Like

  40. 1) 0=0^1=0^(1+0)=(0^1)*(0^0)=0*(nullity)=(nullity), so 0=(nullity).
    2) a+0=a
    3) a+(nullity)=(nullity)

    so EVERYTHING EQUALLS NULLITY! Am I missing something here?

    Like

  41. Lets explore this

    0/0 = x
    0 = x * 0
    So logically thinking, what times zero equals zero.

    The answer is every number.

    Yes “Nullity” equals any number.

    all numbers real or imaginary satisfy the equation.

    This is why its called undefined. Because IT IS… slapping a title on it
    should come with some real definitions.

    ie. Nullity equates to any and every single number. Meaning Nullity is One and it is also two.

    its not a variable because that would imply it ISNT particular numbers. But Nullity is every number. (1 and 2 and 10 and 50 and 12^5434 and 1.24×10^99283 and i and -i, and all the other numbers too)

    If they plan to define Nullity, its a lot more than just 0/0 …

    But the special mathmatics means it cannot exist in any normal equation,
    Nullity = 1… Nullity = 2. But 1 != 2. Thus nullity is kinda useless.

    Like

  42. Now that’s what you call a perfect response to this idiocy. The guy has so little credibility in this field that its scary that he gets this much attention for what he said. Say something that somebody who either doesnt care or isn’t paying attention and you can get some coverage on the BBC it seems. Nullity is just a fancy word for “undefined.” Blatant idiocy. Sigh.

    Like

  43. I was mucking around with this sorta of thing earlier this year (I’m sixteen)
    I was able to get as far as

    The relation y = x/0 + c graphs as a vertical line, on x=-c
    As well as some extensions of that before I got bored.
    Called 0/0 ‘om’ (or that hindu symbol with the 3 in it) meaning ‘everything’ or something like that.
    Still insisted that n/0 where n 0 wasn’t possible.

    Basically, this guy is doing the same thing as every ambitious teenage maths student ever. (I don’t even do the highest maths, my friend does and he taught me about i)

    Like

  44. As a computer science student at the University of Reading I had the pleasure to listen to him directly at one event. He was discussing his theory and is facing objection even by his colleagues at the university.

    So far “Daniel Axelrod” got it best. He’s developing a so-called “Perspex machine” which is a completely new way of computing. Using it a division by zero won’t be an error anymore.

    You can read more at his website http://www.bookofparagon.com where you can also find papers of his theory.

    All best,
    Misel

    Like

  45. Hey,

    There’s nothing wrong with leaving it undefined. The typical real number multiplication group omits 0. There are plenty of groups with undefined inverses. Try multiplication modulo 8, besides the obvious 0, the number 2, 4, and 6 also have undefined inverses (try it/prove it if you don’t believe me, see if any number mod 8 will result in 2, 4, or 6 =1).

    Do we try to create a new map that would include this element and have inverses? Maps of such can be created (since, for example, the set of rational numbers is an infinitely countable group, the rationals combined with {0} is countably infinite, therefore there is a bijection between the rationals and integers, and the integers are isomorphic to any infinite cyclic group and we can go from there), but they aren’t as useful as the maps we already know. In fact, in order to create the complex group, we didn’t just add…..

    You know what, I have to go, let me just say that mappings are possible. BELIEVE IN MAPS. (btw, my first thought when I saw your spam protection was, “which moduli?”)

    Like

Comments are closed.