Professor Comes Up With a Way to Divide by Zero 1090
54mc writes "The BBC reports that Dr. James Anderson, of the University of Reading, has finally conquered the problem of dividing by zero. His new number, which he calls "nullity" solves the 1200 year old problem that niether Newton nor Pythagoras could solve, the problem of zero to the zero power. Story features video (Real Player only) of Dr. Anderson explaining the "simple" concept."
Well, thats just nullty. (Score:5, Interesting)
Well, thats just nullty.
Seriously though, as I understand it, this is simply another mathematical structure that allows a different scalar much like a real projective line, right? If that is the case, then there is nothing really new here and there can be no application or definition with real numbers or integers. Alternatively by interpreting this as a commutative ring, one might be able to extend this to where division by zero does not always get you in trouble, but the precise interpretation of "division" is fundamentally altered. This too is not a new concept.
However, all of that said, I am a bioscientist and my math skills are not as strong as a formally trained mathematician, so I will defer to those here who are stronger mathematicians than I if this interpretation is incorrect.
didn't "solve" anything (Score:3, Interesting)
Re:Well, thats just nullty. (Score:5, Interesting)
Re:And this is important, why? (Score:2, Interesting)
Let's call it "snerg".
Seriously, it sounds too close to null's, which makes database probramming a royal pain in the arse. Null's are like poison pills that propagate thru an expression and render it useless. This is perhaps useful for some numeric calculations, but a big mistake for strings. Example:
myString = A . B . C . D . E
Assume that "." is string concatenation. Under many RDBMS, if *any* of A, B, C, D, or E is null, the entire expression is null. This is rarely what one wants. One ends up putting a lot of null-fixer functions in expressions to prevent this kind of poison-pill approach. If I die and there is an afterlife, I will hunt down the person that made this a convention and make them eat a Null Pill so that their entire body (spirit?) is nullified. (And you don't want to hear what I'll do to the guy who invented neckties.)
Sad, really... (Score:5, Interesting)
For just one example of why it sucks, he BEGINS by defining: (infinity) = 1/0 and (-infinity) = -1/0.
My conclusion: (0)*(infinity)=1
So 2*0*infinity = 2*1
So 2 = 2*0*infinity = (2*0)*infinity = 0*infinity = 1
And once you know that 2 != 1 and 2 =1, it turns out you can prove quite a bit...
Total nonsense, and the BBC is encouraging it. *shakes head* Although, I've got to say, it's nice, for once in my life, to deservedly be a smug American.
Re:Imaginary Numbers (Score:3, Interesting)
Re:Imaginary Numbers (Score:2, Interesting)
math is actually the science of making up rules. any real mathematician will tell you that the main idea of math is to start with as few basic axioms as possible, and come up with the rules of the system that follows. see: euclidean geometry, arithmetic. where do the axioms come from? historically, from observing the real world, people saw integers, real numbers, and euclidean geometry. more recently (meaning euclid and a few other clever early dudes, but otherwise in the last 150, maybe 200 years), the axioms are pretty much completely made up. some of them are based on those early systems, integers and real numbers. but there are a multitude of mathematical systems, of all varieties, that have no real world counterpart. and thats what makes it fun.
as for division by zero, it gets us nowhere. the system of arithmetic and real numbers doesn't define division by zero, because that system is used for modeling the real world, where division by zero is meaningless. if you paid attention to the paragraph above, however, you should realize how easy it is to come up with a system where division by zero is clearly defined. my favorite example is the riemann sphere, which can be seen as an extension of the projective real line. of course, in ieee floating point, division by zero is very clearly defined. the result doesn't have a "value" but you can do it, and if you do, your plane doesnt crash.
in short, james anderson is an idiot. yes, i am basing this on my reading of the summary and (pointlessly vacuous) article. if only the video explanation weren't real format...
I suspect (Score:4, Interesting)
Re:Imaginary Numbers (Score:5, Interesting)
"Imaginary" numbers are just the "thingys" which are solutions to polynomials. I.e., mathematicians find it useful to have an answer to the question "for what values of x does x^2 + 1 = 0?" The answers are useful, even though they aren't good at measuring length or breadth or depth or other one-dimensional concepts. They're useful because they allow mathematicians to develop a theory which has answered questions which couldn't be answered before. This is true even though both the question and the answer both lie in the realm of real numbers. Should there be an answer to every question of this type that doesn't use complex numbers? Perhaps, but it certainly doesn't have to be pretty, or easy to discover. Often the shortest path to a "real" truth lies on an "imaginary" line.
Re:Well, thats just nullty. (Score:2, Interesting)
Don't sneeze at it (Score:5, Interesting)
Seriously though this is the sort of thing that you don't want to sneeze at, it can sound both inane and brilliant. Anderson is not such a crackpot, I found a presentation [bookofparagon.com] of his on optical computing and an introduction to its underlying theory called perspex algebra ( "Representing geometrical knowledge." [nih.gov]). He seems to be a geometer stating his perspective in the first line of that presentation: "Aims: To unify projective geometry and the Turing machine".
He's a geek hero! Who knows if his nullity will end up just NaN with a British twang or the next best thing to sliced bread and i?
I was unable to hear the realaudio casts but from Book of Paragon, The Perspex Machine [bookofparagon.com] (Anderson mentions transreal arithmetic) and Exact Numerical Computation of the Rational General Linear Transformations [bookofparagon.com] (a mathematical treatise with applications to computer vision and robotics) just glancing I'd have to say the guy seems to be a real mathematician, geek and philosopher-king. I don't know if he's up there with Newton but he at least deserves an honorable mention for his wonderfully witty (and to me as yet inscrutable) naming of the Walnut Cake Theorem (see page 10 of Perspex.pdf). It seems that he was motivated to create nullity in order to make reliable advanced computers that would not barf when asked questions about the universe, and to him "Not-a-Number" is vomit. I'd say read some of his stuff before assigning him to the 9th Hell. Would like to hear what any mathematicians or other people with brain cells over the age of 12 have to think about it. It's okay if he reinvented something but it appears he is trying to make a machine that can handle infinities and other tough numerical concepts with ease, and that's worth something. Oh, that and his quantum computer looks neat.
Re:Not just "division by zero", but 0/0 specifical (Score:4, Interesting)
Think of a division as the reverse of multiplication:
6 / 2 = 3, which means 3 * 2 = 6
With a division by 0, this does not hold:
6 / 0 = x, there is no possible x for which x * 0 = 6
X can be no real number
However, 0/0 is different:
0 / 0 = x, but no matter what you fill in for x, x * 0 = 0
X can be any real or imaginary number, 0 * x is always 0
This is why A / 0 has no solution, unless A = 0, then A / 0 does have a solution, an infinite number of solutions in fact: all numbers are a correct solution.
This professor didn't invent it by the way. He just seems to be the first to bother explaining it to school children.
Re:Umm... NaN? (Score:5, Interesting)
(nullity)^(-1) = nullity
So division by nullity is just nullity.
Comment removed (Score:3, Interesting)
Why don't you just make 1 smaller? (Score:2, Interesting)
Marty DiBergi: Oh, I see. And most calculators only go down to 1?
James Anderson: Exactly.
Marty DiBergi: Does that mean it's one smaller? Is it any smaller?
James Anderson: Well, it's one smaller, isn't it? It's not one. You see, most blokes, you know, will be dividing by one. You're on one here, all the way down, all the way down, all the way down, you're on one on your calculator. Where can you go from there? Where?
Marty DiBergi: I don't know.
James Anderson: Nowhere. Exactly. What we do is, if we need that extra push over the cliff, you know what we do?
Marty DiBergi: Divide by zero?
James Anderson: Zero. Exactly. One smaller.
Marty DiBergi: Why don't you just make one smaller and make one be the smallest number and make that a little smaller?
James Anderson: [pause, blank look and snapping chewing gum] These divide by zero.
Re:Actually (Score:1, Interesting)
Is Math discovery or invention? (Score:3, Interesting)
So Nullity may now 'officially' mean n/0 but what does it mean really? Is it just another term for, say, infinity or undefined?
What irks me (Score:2, Interesting)
"Discovering" this miraculous new number sounds like winning at the Kobayashi Maru test - by changing the rules of the test itself. Thus, cheating.
Re:Even I knew this was wrong as a 10 year old (Score:3, Interesting)
if 1/0 = infinity
then infinity * 0 = 1
which does not work, for obvious reasons. This I told my teacher in 6th grade. ''
If you read his article, you will find that he very carefully removes everything from the rules of arithmetic that would cause this kind of problems, which makes it at the same time correct and absolutely useless. His article isn't wrong, it is just useless.
Re:Well, thats just nullty. (Score:1, Interesting)
Re:Argh!!! (Score:5, Interesting)
Reading his stuff, he's proposing an abstract machine as an alternative to the universal turing machine (also an abstract machine) that solves the problem of exceptions in algebra. He's suggesting it has alot of philisophical implications somewhat aligned with the way conventional algebra does. I havent quite grokked the central thesis of it, as my maths is way rusty, but its actually quite interesting.
The 0/0 = nullity stuff is a tragic little misstatement of what he's getting at.
Re:Imaginary Numbers (Score:3, Interesting)
Its a good book. However one of my fav tidbit gleamed from its pages is why Square roots have 2 numbers associated with it and that in actuality the Nth Root of a number has N seprate answers. N-2 imaginary if even and N-1 if odd. Pretty fun stuff.
For a Nth root of a number take 360 degrees of a circle and divide it by N to get a how many degrees between each of the answers for your problem in the complex plane. The hypotinous being the original number and given the fact that you have theta you can find the real and imaginary part of each answer. If you noticed for even Ns the degrees allways land on 180 and 360 refeering to the negative and positive root. So remeber when you take the 8th root of something be sure to check all 8 answers =D
Re:Dr. James Anderson's actual papers (Score:4, Interesting)
I think the big difference is that IEEE numbers were designed for practical use (if you got x=NaN you do not want if(x=y) to work) while his definition is designed for ease of teaching - it is probably easier to explain the rule for 0/0 rather than tell the students that in this case you have think what to do.
His example with f(x)=sin(x)/x is the best illustration - his arithmetic happily produces f(0)=NULL while in practice you should never assume that a floating point number is exact and thus the best definition is where f(x) is continuous in 0 and f(0)=1 and if the code is missing this special case it should return an error.
On the other hand, I have never seen an equivalent of NaN or NULL in analytic computation, so it might be a convenient shorthand after all in the similar way how +infinity is so convenient in measure theory. Of course, one big reason for doing analytic computation is that one can use continuity arguments and since NULL or NaN has to be an isolated point this would likely just introduce a bunch of combinatorics into derivations and make everything more complex.
Re:Well, thats just nullty. (Score:3, Interesting)
Unspoken of, third sign (Score:5, Interesting)
Therefore, if there was 0 and -0, you could claim x/0 = (SIGN(x))*infinity and x/(-0) = -(SIGN(x))*infinity.
Perhaps nullity is used to address exactly this problem of zero's "third sign". There is also similar concept, "infinite complex number", where complex plane is mapped on Riemann's sphere, where south pole is mapped to zero, while north pole is considered "complex infinity". The nullity is "real numbers' only" version of that.
From the real world of spaceplanes crashing... (Score:3, Interesting)
When I was a boy, we programmed air/space craft simultations for NASA.
Not the just abstract videogame types, but actual mechanically-linked 3D motion simulators
that jerked (jerk is a derivative of acceleration, in turn a derivative of velocity, thence a
derivative of position) human test pilots in a shaker cockpit.
Aside: the computer coding involved aviation control math models -> Ratfor -> FORTRAN-> real-time
assembly language -> custom digital I/O in the simulation cockpit, debugged via toggle switch
breakpoints set on a Xerox Sigma 9 console, later supplanted by Foonly machine efforts.
To make a long story short, the aerospace models often attempted divide-by-zero, either from
outright programming bugs or ill-conditioned equations.
So, did we then smash the test pilot into the cabin walls at a high rate-of-change?
No, the intrepid project mechanical engineers, who grokked servo mechanisms and could care less
about snotnose Unix-head punks simply used "mechanical rate limiters" to
overcome and smooth over these "divide-by-zero" disasters.
I'm telling you, even Professor Kahan's IEEE floating-point NAN nomenclature
for calculations didn't save the day for renormalizing these infinities -- how could it,
no self-respecting kernel (Unix or otherwise) has ever executed FP operations, which still
doesn't absolve integer div-zero horrors and concomitant analog duct tape patchwork
to save the day.
NO!: do sneeze at it (Score:2, Interesting)
Anyway, after reading it i need to sneeze. So should you
Re:Well, thats just nullty. (Score:4, Interesting)
Re:Argh!!! (Score:2, Interesting)
"4) The perspex machine is super-Turing. I am continuing to develop it to
give easier theoretical access to its super-Turing properties. Of course, a
computer simulation of the perspex machine is Turing computable, but there
are Turing computable subsets of all the properties (2). I know this,
because I have demonstrated them in computer simulations."
He is claiming that the machine is more powerful than a Turing machine, yet admits it can be simulated on a Turing machine?
Apparently he hasn't heard of the Church-Turing thesis.
And this gem:
"5) When I have made more progress with (4) I will be in a position to
recommend that the perspex instruction is implemented in computer hardware.
Initial calculations show that one silicon chip could have of the order of
10^9 perspex processors on it. I expect this theoretical work to take 1-2
years depending on how lucky I get and how much garbage administration I can
avoid in that period."
10^9 perspex processors on a single chip? Considering that process technology is just now reaching a billion (American: 10^9) transistors on a chip, is he claiming that one can implement the perspex chip with a single transistor?
This is _beyond_ moronic.
If it's implemented in silicon, using transistors, it is *not* more powerful than a Turing machine. Even if it has *infinite* storage and *infinite* processing power, it is not more powerful than a Turing machine.
This is a hoax.
Re:Argh!!! (Score:3, Interesting)
#include
void main() {
int x,y,z;
x=1;
y=0;
z=x/y;
printf("%d\n",z);
}
You get 15. At least you did a few years ago the last time I tried. This is because the 0 is cast to a float before the divide, then cast back to an int. On other *nixs, you get a floating point exception like god intended. I found this after spending 4 hours in dbx chasing a bug in my factory scheduling system.
Re:Argh!!! (Score:3, Interesting)
So what is nullity * infinity?
nullity? infinity? nullfinity?
Re:Argh!!! (Score:4, Interesting)
actually (Score:4, Interesting)
(inf) = 1/0 [A20]
= 1/(-1 * 0) [T77]
= -1 * (1/0) [A13]
= -1 * (inf) [A20]
= -(inf) [A24]
which contradicts his axiomatic supposition of (inf) and -(inf) as unique entities [T41]
Re:Argh!!! (Score:3, Interesting)
Re:Well, thats just nullty. (Score:2, Interesting)
If you take Group Theory for example, in most university courses, you start off with the basic four axioms for them, and you work your way up to the key results. Historically, Groups were never looked at in that way. They were looked originally as groups of permutations, when applied to substitutions for variables in polynomials, when attempting to find a 'quintic formula', expressed only in terms of algebraic operations (namely, by radicals). That turned out not to be the case, due to the work of Abel and Galois.
It was from that people figured out what kinds of structures would satisfy the requirements like a permutation.. And hence you get the modern definition of a group, from which other stuff, like symmetry and various other phenomena could be explained. The same kind of things happen when you're dealing with other kinds of algebraic structures (Rings, Fields, Modules, etc.)
Of course, how it's taught in education is a different issue altogether. However, There are reasons from which the axioms do come about, and it isn't at all because a person was having a bad day, hence insisted on this one axiom for no reason at all.
Re:Argh!!! (Score:1, Interesting)
atan(inf) actually works, at least according to IEEE, so the only difference is that your "workaround" is broken for rise == run == 0, whereas angle = atan(rise / run); is correct in all these cases.