View Full Version : BBC reports professor can divide by 0
Alkatran
7th December 2006, 08:20 AM
http://www.bbc.co.uk/berkshire/content/articles/2006/12/06/divide_zero_feature.shtml
This is absolutely ridiculous. I wish I could get a news story about renaming "indeterminate."
tkingdoll
7th December 2006, 08:27 AM
The reader comments are highly amusing though.
Frankly, this is just a reflection of the increasingly shoddy journalism that makes up the BBC website.
ImaginalDisc
7th December 2006, 08:30 AM
The reader comments are highly amusing though.
Frankly, this is just a reflection of the increasingly shoddy journalism that makes up the BBC website.
What kind of slow news days do you have over there? Isn't there a royal acting like a twit or something?
P.S. I should not have compared royals to twits, and I should apologize. Twits, I'm sorry.
nimzov
7th December 2006, 08:35 AM
http://www.bbc.co.uk/berkshire/content/articles/2006/12/06/divide_zero_feature.shtml
This is absolutely ridiculous. I wish I could get a news story about renaming "indeterminate."
If the computer encounters a division by zero it raizes an error code E_DIV and the program deals with it.
No need to crash the plane if the computer encounter a division by zero. :D
nimzo
Solus
7th December 2006, 08:44 AM
Umm, does this high school teacher realize he's being redundant? Null is nothing, 0 is nothing. He just decided to call 0 "nullity" rather than 0 or error.
I think this guy is giving those children a poor education. This teacher should be in a college philosophy department, not teaching young children. :)
Spindrift
7th December 2006, 08:46 AM
If you end up dividing by zero, that usually means that something else went wrong somewhere else. So this inane "nullity" wouldn't do anything but mask the problem.
And if my pacemaker was dividing time/beats to get seconds per beat and the number of beats was zero, I think I have bigger problems than the mathematical fact that you can't divide by zero.
Doubt
7th December 2006, 08:47 AM
The theory of nullity is set to make all kinds of sums possible that, previously, scientists and computers couldn't work around.
I was never much of a programer. But I found that something like:
"If X = 0 then gosub nonzero"
Usualy worked around such problems. I guess I must have been wrong. I wonder how the BBC reporter plans to teach computers the new number.
Spindrift
7th December 2006, 08:49 AM
Umm, does this high school teacher realize he's being redundant? Null is nothing, 0 is nothing. He just decided to call 0 "nullity" rather than 0.
I think this guy is giving those children a poor education. This teacher should be in a college philosophy department, not teaching young children. :)
Null does not equal 0.
Null is the absence of a value.
0 is a value.
Alkatran
7th December 2006, 08:49 AM
The reader comments are highly amusing though.
Frankly, this is just a reflection of the increasingly shoddy journalism that makes up the BBC website.
Oh god, I didn't see the comments. The sadness factor just doubled. People are saying things like "zero is just really small, so we should define it to actually be nothing, zero, nada, zilch." (paraphrased)
Alkatran
7th December 2006, 08:52 AM
Ooooh, I found a real gem.
Remember that for a long time everyone thought 1/0 was impossible to define, but now it is accepted that 1/0 = infinity. This new concept is really not much of a stretch beyond that.
It's sad on multiple levels!
GnatMan
7th December 2006, 09:03 AM
Actually, it's really just sad on 1/0 levels.
Spindrift
7th December 2006, 09:07 AM
Did you see his other work?
Perspex machine: VII. The universal perspex machine James A. D. W. Anderson The Univ. of Reading (United Kingdom) (published online Jan. 15, 2006) The perspex machine arose from the unification of projective geometry with the Turing machine. It uses a total arithmetic, called transreal arithmetic, that contains real arithmetic and allows division by zero. Transreal arithmetic is redefined here...
Transreal arithmetic?
Loose Change should contact this guy. I'm sure he can come up with some fantastic mathematical "theorems" to prove whatever they want to prove.
Solus
7th December 2006, 09:15 AM
Null does not equal 0.
Null is the absence of a value.
0 is a value.
Thanks for letting me know. Math has always been my weakest area. Now history on the otherhand...
Yes, that's true 0 has a value: 0. But in the vernacular 0 commonly means nothing, or null. That's where my statement comes from.
tkingdoll
7th December 2006, 09:16 AM
Oh god, I didn't see the comments. The sadness factor just doubled. People are saying things like "zero is just really small, so we should define it to actually be nothing, zero, nada, zilch." (paraphrased)
And the less sophisticated "dude, we're all in the Matrix, whoa! you're like, Neo, lololololo111!!!!1111!1"
skeptifem
7th December 2006, 09:18 AM
lol divide by zero
its a running joke on 4chan
http://content.ytmnd.com/content/a/7/5/a759fc2835f0ce8b120ffe248c4609c8.jpg
Jekyll
7th December 2006, 09:25 AM
Did you see his other work?
Transreal arithmetic?
Loose Change should contact this guy. I'm sure he can come up with some fantastic mathematical "theorems" to prove whatever they want to prove.
Even wikipedea rejects it. http://en.wikipedia.org/wiki/Perspex_machine
Alkatran
7th December 2006, 09:25 AM
Did you see his other work?
Transreal arithmetic?
Loose Change should contact this guy. I'm sure he can come up with some fantastic mathematical "theorems" to prove whatever they want to prove.
Yeah, the Turing machine quote confused me as well. If he somehow conceived of a machine which was "more powerful" than a Turing machine (can compute more things) then there are a lot of computational theorists that want to have a little talk.
Paul C. Anagnostopoulos
7th December 2006, 09:51 AM
Nullity. What a stupid name. It should be called diV0iTy.
~~ Paul
rwguinn
7th December 2006, 10:00 AM
I was never much of a programer. But I found that something like:
"If X = 0 then gosub nonzero"
Usualy worked around such problems. I guess I must have been wrong. I wonder how the BBC reporter plans to teach computers the new number.
Yeah--where the subroutine prints an eror message, and exits the program.
Dividing by zero usually means either 1) you messed up the calculations, or 2) you screwed up the valid domain
hgc
7th December 2006, 10:03 AM
This reminds me of the very silly media interest back in 1999 of some 12-year old kid in New Zealand or some other far-flung place who was touted as having solved the Y2K problem. It was unbelievable that whatever news organization fell for it didn't get the basic fact that the problem was well understood and the solution was simply hard-slogging through old code, which was well underway.
Same goes for the divide by zero problem. If your software crashes on that, then you've got to build in a little bit better error capture.
nimzov
7th December 2006, 10:05 AM
Yeah--where the subroutine prints an eror message, and exits the program.
Not automatically, when you catch this error you can implement a procedure to end the program without necessarily catastrophic consequences.
nimzo
Beerina
7th December 2006, 10:17 AM
Yeah--where the subroutine prints an eror message, and exits the program.
Dividing by zero usually means either 1) you messed up the calculations, or 2) you screwed up the valid domain
And in both cases you'll put in a sanity check right before the divide, too, just in case. Unless you're in an extremely tight embedded system. In which case it's probably worth the effort anyway.
I can't emphasize how much faster and more stable my coding has become since I took the extra 10 seconds to test for divide by zero, array bounds access, pointer != NULL (and pointers all initialized to NULL), years and years ago. Even if something doesn't work, at least you're not crossing your fingers hoping the same error occurs when you step through the code as when you simply run it anymore.
Even if you don't think you're dividing by zero (say, you're dividing a known non-zero by another known non-zero) you could still, in theory, create a zero via division underflow, where you divided it so small it turns into zero on the internal representation. So you never know. So, too, for dividing by a sufficiently small number creating a +INF number, or even a valid number that's simply way larger than you're thinking possible.
JonnyFive
7th December 2006, 10:25 AM
Now if you look at division this way, lets say you have an apple (thinking of Newton) to be divided among 2 people... each gets half. Now if you divide the apple between ZERO people, what do you get? I beleive its the whole apple... so dividing by true zero is the number itself!
Ahahahahahahahahaa.... hahahaha... ha...
...oh, I love the comments. You can't divide something into zero units. You might want to, but you can't.
I think a lot of them are misunderstanding the whole 1/x approaches infinity as x approaches 0 thing. You can't reach infinity because it's a mathematical concept, not a number. You can start saying "nullity" instead of "infinity", but you still can't reach it as a singular number.
If I'm wrong, feel free to correct me. I'm not a mathematics PhD, so I might be missing something.
rwguinn
7th December 2006, 10:29 AM
And in both cases you'll put in a sanity check right before the divide, too, just in case. Unless you're in an extremely tight embedded system. In which case it's probably worth the effort anyway.
exactly. Amazing how few folks use that device:D
I can't emphasize how much faster and more stable my coding has become since I took the extra 10 seconds to test for divide by zero, array bounds access, pointer != NULL (and pointers all initialized to NULL), years and years ago. Even if something doesn't work, at least you're not crossing your fingers hoping the same error occurs when you step through the code as when you simply run it anymore.
Even if you don't think you're dividing by zero (say, you're dividing a known non-zero by another known non-zero) you could still, in theory, create a zero via division underflow, where you divided it so small it turns into zero on the internal representation. So you never know. So, too, for dividing by a sufficiently small number creating a +INF number, or even a valid number that's simply way larger than you're thinking possible.
large differences in small umbers can be a problem, indeed.
Geat minds...?:p
Yeah--where the subroutine prints an eror message, and exits the program.
Not automatically, when you catch this error you can implement a procedure to end the program without necessarily catastrophic consequences.
bsolutely--you print the error message, the values, and normally exit by pretending you're done.
nimzo
Souldweller
7th December 2006, 10:31 AM
Well, it seems that no one here has studied more than high school math (no offense meant), but you can divide by zero. Although, of course, this does require to accept the so-called hyperreal numbers, where infinitesimals exist. The hyperreal numbers have existed for a long time now, and are a consistent mathematical framework, although not all mathematicians accept them, or like them. Besides, although it is not strictly correct (not in common algebra at least, and very gross abuse of mathematical notation) any real number divided by zero is equal to infinity.
Paul C. Anagnostopoulos
7th December 2006, 10:38 AM
Dividing by zero usually means either 1) you messed up the calculations, or 2) you screwed up the valid domain
Or there are no data points for which to calculate the mean. Or the array to be sorted is empty. Or the string to be centered is null.
~~ Paul
joobz
7th December 2006, 10:41 AM
This reminds of a time back in junior high when our local town paper had an article with a title something like
"Local 3rd Grade Class Finds Flaw in Calculators"
Our math teacher came in fuming because the "error" was the class's teacher not knowing the order of operations.
I agree with Paul, Nullity is stupid.
I prefer Infinitude.
geni
7th December 2006, 11:24 AM
Well, it seems that no one here has studied more than high school math (no offense meant),
Not so.
but you can divide by zero. Although, of course, this does require to accept the so-called hyperreal numbers, where infinitesimals exist.
If you abandon the standard reals many things are posible. 0.999... not equaling one is one example. However hyperreals do not allow for division by zero (there are systems which do but hyperreals are not one of them) what the hyperreals do allow is division by infinitesimals.
The hyperreal numbers have existed for a long time now, and are a consistent mathematical framework, although not all mathematicians accept them, or like them. Besides, although it is not strictly correct (not in common algebra at least, and very gross abuse of mathematical notation) any real number divided by zero is equal to infinity.
While that appears to be a convient answer it doesn't quite work. Useing standard reals devideing by zero is undefined
KingMerv00
7th December 2006, 11:32 AM
Heh, I love The Onion...wait a sec...
Unnamed
7th December 2006, 11:40 AM
I took the time to read his axioms (http://www.bookofparagon.com/Mathematics/PerspexMachineVIII.pdf), and I am not impressed. The semantics are similar to IEEE (http://en.wikipedia.org/wiki/IEEE_754) arithmetic (1/0 = +Inf, 0/0 = NaN), with very few differences (he thinks differently (http://en.wikipedia.org/wiki/Talk:IEEE_754r)). In my opinion, the standard does it better.
In any case, an implementation would be full of implicit conditionals. For instance, he has the axiom "a/a = 1 for a != 0, Inf, NaN", implying that every division needs a check for 0, Inf or NaN in the denominator, as it did before. So if there was a problem, we are no closer to a solution. Redefining NaN or "Phi" as a "number" does nothing if we still need to treat it as a special case.
The rest of his site (http://www.bookofparagon.com/) set off all my crackpottery detectors.
Jekyll
7th December 2006, 11:41 AM
any real number divided by zero is equal to infinity.
Zero can't be divided by zero in this way. Which is why the guy invented nullity :p.
Alkatran
7th December 2006, 12:03 PM
any real number divided by zero is equal to infinity.
This is wrong. If a/0 = infinity then -(a/0) = -(infinity). But -(a/0) = -a/0, and -a is another real number, so a/0 = -infinity. Well damn, that looks like a contradiction unless you let -infinity = infinity.
I really, really wish people would understand this simple statement: YOU CAN'T DIVIDE BY 0 ON THE REALS. NO NO NO NO NO NO NO. STOP TRYING.
Thing
7th December 2006, 01:01 PM
Abraham Robinson's Non-Standard Analysis does all this far better.
http://en.wikipedia.org/wiki/Nonstandard_analysis
BTW this is the same Reading University that's just voted to close its Physics dept despite widespread protests.
http://news.bbc.co.uk/1/hi/education/6159106.stm
Souldweller
7th December 2006, 01:31 PM
I really, really wish people would understand this simple statement: YOU CAN'T DIVIDE BY 0 ON THE REALS. NO NO NO NO NO NO NO. STOP TRYING.
I know, infinity is not a number, and is not defined with the real numbers. That's why I was saying that it was an abuse of notation. I think a better way to put it would be: limit(h-->0)a/h= infinity. It is just a way of saying that as h becomes smaller, the value of (a/h) becomes larger and larger. But I know, by definition, you can't divide by zero.
And I thought that if we accept infinitesimals, this means that we have to accept their multiplicative inverses, which could allow to represent infinites as numbers, and so 'define' the division of a number by zero...?
malbui
7th December 2006, 01:35 PM
I can't emphasize how much faster and more stable my coding has become since I took the extra 10 seconds to test for divide by zero, array bounds access, pointer != NULL (and pointers all initialized to NULL), years and years ago. Even if something doesn't work, at least you're not crossing your fingers hoping the same error occurs when you step through the code as when you simply run it anymore.
I spend so much time coding defensively to avoid problems that I never get around to making my programs do anything useful. But damn I catch a lot of errors.
Dr Adequate
7th December 2006, 02:27 PM
And I thought that if we accept infinitesimals, this means that we have to accept their multiplicative inverses, which could allow to represent infinites as numbers, and so 'define' the division of a number by zero...? Yes, there are infnite numbers in non-standard analysis, but as you point out yourself, they are the reciprocals of infinitesimals; none of them is the reciprocal of zero.
ynot
7th December 2006, 02:30 PM
Claiming that doing nothing is doing something is not a new concept. Lawyers have been doing this for decades!
Paul C. Anagnostopoulos
7th December 2006, 03:28 PM
I can't emphasize how much faster and more stable my coding has become since I took the extra 10 seconds to test for divide by zero, array bounds access, pointer != NULL (and pointers all initialized to NULL), years and years ago. Even if something doesn't work, at least you're not crossing your fingers hoping the same error occurs when you step through the code as when you simply run it anymore.
The assert statement is your friend. From one small module of an application I'm writing:
assert source_ok: not nil? src;
assert not_empty: source_sp > 0;
assert source_available: source_sp > 0;
~~ Paul
rwguinn
7th December 2006, 03:37 PM
This is wrong. If a/0 = infinity then -(a/0) = -(infinity). But -(a/0) = -a/0, and -a is another real number, so a/0 = -infinity. Well damn, that looks like a contradiction unless you let -infinity = infinity.
I really, really wish people would understand this simple statement: YOU CAN'T DIVIDE BY 0 ON THE REALS. NO NO NO NO NO NO NO. STOP TRYING.
Sure-you can do anything you want--just ask any 3rd grader:D
Giving the value of x/0= is just another way of saying "you (rule 8)ed up."
call it infinity, whaterver--he!!, call it George (and love it and hug it...)
All you're doing is putting another label on "undefined"
delphi_ote
7th December 2006, 03:49 PM
Yeah, the Turing machine quote confused me as well. If he somehow conceived of a machine which was "more powerful" than a Turing machine (can compute more things) then there are a lot of computational theorists that want to have a little talk.
Turing completeness (http://en.wikipedia.org/wiki/Turing_complete) and the Church-Turing Thesis (http://en.wikipedia.org/wiki/Church-Turing_thesis) are now on the scrap heap of history. :rolleyes:
Dark Jaguar
7th December 2006, 04:38 PM
This reminds me of the very silly media interest back in 1999 of some 12-year old kid in New Zealand or some other far-flung place who was touted as having solved the Y2K problem. It was unbelievable that whatever news organization fell for it didn't get the basic fact that the problem was well understood and the solution was simply hard-slogging through old code, which was well underway.
Same goes for the divide by zero problem. If your software crashes on that, then you've got to build in a little bit better error capture.
Y2K... yeah that sure did expose the ignorance of the masses didn't it? Before 2000, everyone was freaking out because they vastly overestimated the impact the glitch might have and vastly underestimated the ability of programmers to solve it just by recoding the old programs (which, while tough, was still not nearly so tough as to be impractical). Then E2K came and went, and everyone was wondering where that Earth shattering kaboom was. Well, not only was that not going to happen, what little WOULD have happened (little is a relative term, relative to the hype) was fixed in plenty of time. Those that didn't get it fixed didn't really do any damage for not having done so. So, the problem is they just assumed there never was a problem and everyone started thinking programmers were to blame for all the fuss, instead of themselves.
Annoying really... Too many people didn't bother to do any research. The problem was real, though entirely overblown. The majority of electronic devices don't even keep the date, and those that did weren't going to self destruct just because they maxed out their timers. It was just those more important book keeping programs, namely in banks, that were the major issue. The damage would have been in terms of monies and that's about it, but it was solved in plenty of time.
So now there's the "stigma" of that whole episode which by all rights was caused by the media and the masses.
Earthborn
7th December 2006, 04:49 PM
Unbelievable! This guy's invention solves a 1200 year old problem! :oldroll:
Just watch the video. It is sooo simple.
Or rather: gives the solution a name.
His approach to solving things is useful for many real world applications:
- I have a solution to all the world's problems
- Okay, so what is it?
- It is my solution. I call it "Golliboggelotz".
Here's the guy's explanation why 0^0 = Nullity:
0^0=0^(1-1)
0^0=(0^1)*(0^-1)
0^0=((0/1)^1)*((0/1)^-1)
0^0=(0/1)*(1/0)
0^0=(0/0)
I am instantly reminded of that old trick that proves that 1 = 2, but sneakily divides by 0 along the way.
http://www.mathmistakes.com/mathmistake.jpg
According to Dr. Math (http://mathforum.org/dr.math/faq/faq.0.to.0.power.html), mathematicians usually agree that the solution to the "1200 year old problem" is 1, though for reasons that are not entirely intuitive to me.
ETA: The guy should read this (http://home.ubalt.edu/ntsbarsh/zero/ZERO.HTM).
Canadian Malcontent
7th December 2006, 04:52 PM
hey I posted , under 'Erik' a comment on 'Ryan's' number circle thing with 1 on top -1 on bottom and 0 on the right with 'nothing' on the that -0 belongs on the left.
Did I do something clever?
Ladewig
7th December 2006, 05:15 PM
Actually, it's really just sad on 1/0 levels.
Best post I have read all day.
hgc
7th December 2006, 09:32 PM
Y2K... yeah that sure did expose the ignorance of the masses didn't it? Before 2000, everyone was freaking out because they vastly overestimated the impact the glitch might have and vastly underestimated the ability of programmers to solve it just by recoding the old programs (which, while tough, was still not nearly so tough as to be impractical). Then E2K came and went, and everyone was wondering where that Earth shattering kaboom was. Well, not only was that not going to happen, what little WOULD have happened (little is a relative term, relative to the hype) was fixed in plenty of time. Those that didn't get it fixed didn't really do any damage for not having done so. So, the problem is they just assumed there never was a problem and everyone started thinking programmers were to blame for all the fuss, instead of themselves.
Annoying really... Too many people didn't bother to do any research. The problem was real, though entirely overblown. The majority of electronic devices don't even keep the date, and those that did weren't going to self destruct just because they maxed out their timers. It was just those more important book keeping programs, namely in banks, that were the major issue. The damage would have been in terms of monies and that's about it, but it was solved in plenty of time.
So now there's the "stigma" of that whole episode which by all rights was caused by the media and the masses.
Funny, the Y2K problem was being fixed many years before the public became generally aware of it. I first came on it as a Year 2050 problem in 1988, which is another way of saying it's not a Year 2000 problem, but just a 2-digit year problem. I was working at a portfolio management firm, and yields to maturity on fixed income instruments were calculated against the 2-digit maturity date, wherein the software would take anything <=49 as 21st centurty and anything >=50 as 20th century. Then some damn portfolio manager bought Japanese warrants maturing in 2050. Boom, bad calculations. The fix was a cinch.
Zygar
7th December 2006, 10:15 PM
My favorite part is that he says that "nullity" isn't on the number line. If not then it can't be used in one-dimensional computations such as 1/0 = nullity.
Canadian Malcontent
7th December 2006, 10:44 PM
HDC I am glad we have people like you on the case.
andyandy
19th December 2006, 03:10 PM
a/0 = infinity for all a ∈ C* \ {0}
you can divide a complex number in the extended complex plane (C*), by zero so long as a =! 0
in maths anything is possible :)
CapelDodger
19th December 2006, 04:04 PM
Not automatically, when you catch this error you can implement a procedure to end the program without necessarily catastrophic consequences.
nimzo
With accompanying techno-babble error message and instructions to phone [insert name, home number and email of person you don't like, probably someone in Accounts].
Iamme
19th December 2006, 05:08 PM
http://www.bbc.co.uk/berkshire/content/articles/2006/12/06/divide_zero_feature.shtml
This is absolutely ridiculous. I wish I could get a news story about renaming "indeterminate."
I never went to the site. But the thread title surely says enough right there. Maybe the prof read my recent post about the pie on the table, where it was never divided by anyone, so there it still sat on the table as one pie. :)
Wowbagger
19th December 2006, 05:37 PM
Perhaps the word Nullity could be useful, in some way, if we define it thusly:
nullity: n. The delusion that one has solved the problem of dividing numbers by zero. As in: "My math teacher, Dr. Anderson, has clearly been suffering from nullity, since he replaced the word 'undefined' with a new symbol, and claims he solved a 1200 year old problem."
adjective form: nullible. See also gullible.
I wonder if we can get that added to SkepDic.com, or something.
DarkMagician
19th December 2006, 05:57 PM
I don't really trust the hyperreal numbers, since it sounds more and more like bad math than a real branch of mathematics.
1/0, Let's see. No way to divide 1 into zero groups, and anytime you take zero away from one or add zero to one, you don't get any closer to zero. We could also find the number c where 0c=1, but anything time 0 is zero, so there is no way (ignoring those iffy hyperreals) to complete this problem. Either way it's undetermined.
Seriously, nullity is stupid. The concept of x/0 (x =/= 0) has been around for a while. Naming it "nullity" does not expand our intelligence by anything more than giving us another word to remember.
Bullet
19th December 2006, 09:24 PM
The scary thing is how the kids lap it up and "totally" accept the teacher's word. It shows what a position of great responsibility teachers hold, and how they step over the line when they decide to teach their flights of fancy as "the truth".
Loss Leader
19th December 2006, 09:57 PM
My favorite line: "If your heart pacemaker divides by zero, you're dead."
Speaking as someone who has a pacemaker, I cannot imagine a scenerio where a pacemaker would take it upon itself to divide by anything, let alone zero. The device has been quite useless in helping me finish my math homework.
Earthborn
19th December 2006, 10:55 PM
The device has been quite useless in helping me finish my math homework.Oh yeah? Try to finish your homework without it. :p
Myriad
19th December 2006, 11:30 PM
Dividing by zero usually means either 1) you messed up the calculations, or 2) you screwed up the valid domain
Or there are no data points for which to calculate the mean. Or the array to be sorted is empty. Or the string to be centered is null.
Or you're trying to transform a point on the y axis into polar coordinates, using the arctangent function.
- Myriad
Earthborn
19th December 2006, 11:50 PM
I must be clevererer than this professor, because I have invented a way to divide by zero without invoking any "numbers off the number line".
I define "numerator" as the number of indivisible marbles I have.
I define "denominator" as the number of people, excluding myself, I give marbles to.
I define "division" as the number of marbles each person has when I have given each person an equal number of marbles.
I define "remainder" as the number of marbles I have left when I gave all those people an equal number of marbles.
Examples
Suppose I have 2 marbles, and there are 2 people I can give marbles to. That means they get 1 each, and I have lost all my marbles. 2/2=1, remainder 0.
Suppose I have 3 marbles, and there are 2 people. 3/2=1 remainder 1
4 marbles, 2 people: 4/2=2 remainder 0.
Now dividing by zero
Suppose I have 2 marbles and no one to give it to. That means I am left with 2 marbles: 2/0=0 remainder 2.
Suppose I have 100 marbles and no one to give it to: 100/0=0 remainder 100.
To put it in more general terms:
x/0=0 with a of remainder x.
That also works with 0/0:
Suppose I have 0 marbles and no one to give marbles to. That means I am left with 0 marbles and nobody gets any. 0/0=0 remainder 0.
Find the flaw in that, mathematologists!
Zep
20th December 2006, 12:25 AM
...
I seem to have lost my marbles...
DevilsAdvocate
20th December 2006, 01:17 AM
"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.
OK, so the idea is that “nullity” will stop a computer program from crashing. So when an value is divided by zero it returns a value of nullity. How do we represent nullity in binary? If I have a 32-bit floating point number variable, what would be the ones and zeros? Or would we need to change the way that all existing number variables in all (or almost all) coding languages handle binary? 32-bit numbers have to become 31-bit number with an extra bit to hold an “is nullity” value or all numbers double bit for the extra “is nullity” bit value?
And even if we did this conversion (which would be a zillion times grander than any Y2K conversions), how would code handle the value of nullity?
Let’s say I have coed that calculates a landing angle for an aeroplane. Where N = 0.
X = 8 / N
LandingAngle = 6 * X
So X = nullity. Woo hoo! That line of code didn’t crash or return an error. Woo hoo!
But what the hell would be six times nullity? Would it be nullity as well? Or a value of nullity six? What would LandingAngle be?
Do you want to be on a plane flying on auto pilot landing at a nullity six degree angle? And after you crash and die, the programmers tell you everything worked perfectly because no errors were thrown?
You can do the exact same thing with an “On Error Resume Next” statement. It’s easy to resolve 1200-year-old problems when you just ignore them.
WHAT A DANGEROUS DORK, suggesting programmers should ignore division-by-zero errors by assigning a meaningless “nullity” value—especially for critical programs like auto-pilots and pace-makers. :mad:
Earthborn
20th December 2006, 01:39 AM
How do we represent nullity in binary?The number is supposedly off the number line, so the binary representation of "nullity" might be "2". :p
DevilsAdvocate
20th December 2006, 02:20 AM
The number is supposedly off the number line, so the binary representation of "nullity" might be "2". :pHe he he! :D
It is like options for a light switch. You can have:
Null: No light switch
0: Light switch off
1: Light switch on
2: Nullity
It is like if I numbered my five fingers 1-5 then asked for the number on my 18th finger. What is the value: NULLITY.
This could resolve 99-100% of all computer coding errors. The value of a variant divided by zero: NULLITY! The value of an array item out of bounds: NULLITY!. The length of an undeclared object: NULLITY! The return value of a function that failed: NULLITY! Heck, any time a computer progam would raise an error, instead have it return a value of nullity! No more computer progam errors!! Woo hoo! I just fixed all errors in all computer programs erverywhere. Hooray fo me!!!
(Of course the number is off the number line. It's on the error line. That's why programs raise an error when they encounter an off-the-number-line but on-the-error-line number: because it is an error. Doofus.)
Zep
20th December 2006, 02:24 AM
Y'know, I've seen code that RELIED on those sort of errors actually being trapped to do serious work...
E.g. To actually make OpenVMS shut down, a divide-by-zero error in a main register is deliberately induced. This is a seriously major no-no for this OS (because it assumes that the error was caused at a high priority at the kernel level = an OS fault), and thus it will precipitate a controlled and graceful exit of the OS. That is to say, a shutdown.
DevilsAdvocate
20th December 2006, 02:37 AM
Y'know, I've seen code that RELIED on those sort of errors actually being trapped to do serious work...
E.g. To actually make OpenVMS shut down, a divide-by-zero error in a main register is deliberately induced. This is a seriously major no-no for this OS (because it assumes that the error was caused at a high priority at the kernel level = an OS fault), and thus it will precipitate a controlled and graceful exit of the OS. That is to say, a shutdown.Sounds like bad code. But sometimes you gotta do what you gotta do.
In any event, what it comes down to is:
nullity = ignore error
Super genius. :boggled:
enjoytheview
20th December 2006, 05:33 AM
haha my favorite comment by the professor: The work was developed over ten years, it's been peer reviewed and reported in seminars in mathematics and computing departments in the UK, and it's been reported at a learned society
i can't believe it took a man of such obvious brilliance and mathematical genius 10 years to think up something like "nullity". Although i guess it must take years of creative genius bottled up and released at precisely the right moment to create the masterpiece that is the symbol for "nullity"
To answer the earlier questions about binary...Apparently "nullity" can be written in binary says professor genius: There are many, many ways of coding these numbers in binary, and I've done it. If anyone doubts me I can hit them over the head with a computer that does it
also i was wondering if anyone can help answer my question:
the professor himself says that "Nullity is a fixed number with value 0/0"
and that works all well and good (providing you make up numbers and defy the rules of maths in between) for that 0^0 theory..
But what does 1/0 become using professor clueless' "nullity" theory? or has he only managed to make up enough numbers for one question at this stage?
Cabbage
20th December 2006, 09:48 AM
I don't really trust the hyperreal numbers, since it sounds more and more like bad math than a real branch of mathematics.
1/0, Let's see. No way to divide 1 into zero groups, and anytime you take zero away from one or add zero to one, you don't get any closer to zero. We could also find the number c where 0c=1, but anything time 0 is zero, so there is no way (ignoring those iffy hyperreals) to complete this problem. Either way it's undetermined.
Seriously, nullity is stupid. The concept of x/0 (x =/= 0) has been around for a while. Naming it "nullity" does not expand our intelligence by anything more than giving us another word to remember.
Don't confuse the hyperreals with the division by zero going on elsewhere in this thread; these are two separate things.
Hypereals are an extension of the real numbers which include both infinite numbers and infitesimals. The standard way of constructing hyperreals is to construct them out of sequences of real numbers; there is no division by zero in their construction.
In the hyperreals, if you divide a (nonzero) real number by a (nonzero) infinitesimal, you get an infinite number. But you still can't divide by zero in the hyperreals.
This link probably won't be very readable if you don't have much of a math background, but here's the standard construction of the hyperreals:
http://en.wikipedia.org/wiki/Hyperreal_numbers#The_ultrapower_construction
JoeTheJuggler
20th December 2006, 10:11 AM
Frankly, this is just a reflection of the increasingly shoddy journalism that makes up the BBC website.
And not just BBC. I see stupid stuff and obvious errors all over the place.
A recent CNN article about an international census of marine life reported that "there are nearly 16,000 known species of marine fish and 70,000 kinds of marine mammals."
http://tinyurl.com/ycdxs2
Obviously a simple error--"mammals" should be "animals". What bugs me is that a professional journalist wrote that, and presumably at least one editor checked it, and I informed them of the error weeks ago, and yet it stands.
Unnamed
20th December 2006, 03:23 PM
Or you're trying to transform a point on the y axis into polar coordinates, using the arctangent function.
... instead of atan2 (http://www.cplusplus.com/ref/cmath/atan2.html):
Performs the trigonometric arctangent operation on y/x and returns an angle in the range from -PI to PI expressed in radians, using the signs of the parameters to determine the quadrant.
The result is valid even if x is 0 (angle is PI/2 or -PI/2).
Unnamed
20th December 2006, 03:28 PM
OK, so the idea is that “nullity” will stop a computer program from crashing. So when an value is divided by zero it returns a value of nullity. How do we represent nullity in binary? If I have a 32-bit floating point number variable, what would be the ones and zeros? Or would we need to change the way that all existing number variables in all (or almost all) coding languages handle binary? 32-bit numbers have to become 31-bit number with an extra bit to hold an “is nullity” value or all numbers double bit for the extra “is nullity” bit value?
Replace "nullity" with "NaN" and you have your answers right there in the IEEE floating point standard.
And even if we did this conversion (which would be a zillion times grander than any Y2K conversions), how would code handle the value of nullity?
That's the real question. This is a non-solution to a non-issue. Nullity/NaN is an error, an exception that must be dealt with.
But what the hell would be six times nullity? Would it be nullity as well? Or a value of nullity six? What would LandingAngle be?
His axioms define 6 times nullity as nullity. Yes, I know, useless. :rolleyes:
Unnamed
20th December 2006, 03:33 PM
the professor himself says that "Nullity is a fixed number with value 0/0"
and that works all well and good (providing you make up numbers and defy the rules of maths in between) for that 0^0 theory..
But what does 1/0 become using professor clueless' "nullity" theory? or has he only managed to make up enough numbers for one question at this stage?
For him, 1/0 = oo (infinity). But infinity is not a new word, so it gets no press.
He defines a new line of real numbers, that includes a point "before" the line (-oo), a point "after" the line (+oo) and a point "outside" (Phi or nullity).
Iamme
20th December 2006, 03:42 PM
The scary thing is how the kids lap it up and "totally" accept the teacher's word. It shows what a position of great responsibility teachers hold, and how they step over the line when they decide to teach their flights of fancy as "the truth".
Good point. But I guess that would be natural since teachers are adults and kids are kids.
Unless of course, you are that kid who finked on his teacher that his teacher was ram-rodding creationism down the classes throat, and the kid was clever enough to tape record the teacher and a meeting ensued with higher ups and the teacher was caught lying. I think this was on one of the news channels either last night or the night before. (I'm getting forgetful in my old age.)
69dodge
20th December 2006, 04:43 PM
I must be clevererer than this professor, because I have invented a way to divide by zero without invoking any "numbers off the number line".
I define "numerator" as the number of indivisible marbles I have.
I define "denominator" as the number of people, excluding myself, I give marbles to.
I define "division" as the number of marbles each person has when I have given each person an equal number of marbles.
I define "remainder" as the number of marbles I have left when I gave all those people an equal number of marbles.
Examples
Suppose I have 2 marbles, and there are 2 people I can give marbles to. That means they get 1 each, and I have lost all my marbles. 2/2=1, remainder 0.
Suppose I have 3 marbles, and there are 2 people. 3/2=1 remainder 1
4 marbles, 2 people: 4/2=2 remainder 0.
Now dividing by zero
Suppose I have 2 marbles and no one to give it to. That means I am left with 2 marbles: 2/0=0 remainder 2.
Suppose I have 100 marbles and no one to give it to: 100/0=0 remainder 100.
To put it in more general terms:
x/0=0 with a of remainder x.
That also works with 0/0:
Suppose I have 0 marbles and no one to give marbles to. That means I am left with 0 marbles and nobody gets any. 0/0=0 remainder 0.
Find the flaw in that, mathematologists!I suspect you wrote this whole thing just for the "I have lost all my marbles" line. :D
But, to be serious for a moment, when dividing by zero, you're right about the remainder---it's just the numerator---but why is the quotient zero? It could just as easily be any other number. How are we supposed to decide how many marbles each person gets, when there aren't any people? Giving 10 marbles to each person is the same as giving 0 marbles to each person: no marbles get used up because there's nobody to give them to.
tracer
20th December 2006, 04:54 PM
No need to crash the plane if the computer encounter a division by zero. :D
Didn't you see the NBC made-for-TV movie Y2K ?
When the airliners crossed the International Date Line, their engines instantly stopped working and they plummetted from the sky. Just like in real life. :rolleyes:
enjoytheview
20th December 2006, 07:55 PM
I'd really love to find a way for this whole thing to work because it must suck to spend 10 years of your life on a theory that is about as useful as sunscreen in the arctic. Unfortunately the more i try to make this work, the less it makes sense and the closer i get to having an aneurism.
I just feel sorry for those poor kids who actually "get it" because what they're "getting" won't exactly help them out when it comes to university or any other forms of maths. I'll never complain about my maths teachers again.
CapelDodger
21st December 2006, 04:40 PM
Funny, the Y2K problem was being fixed many years before the public became generally aware of it.
In many cases fixing it just meant bringing forward much-needed upgrades by a few years. Sadly there's little account taken of that when the "cost" of Y2K is made up.
All the same, a nice little earner for old Cobol hands who didn't grow up expecting documentation. I never did get around to doing much myself :).
CapelDodger
21st December 2006, 04:48 PM
I just feel sorry for those poor kids who actually "get it" because what they're "getting" won't exactly help them out when it comes to university or any other forms of maths. I'll never complain about my maths teachers again.
The following is more or less verbatim, from a maths teacher of mine forty years ago (when I started high school and it stopped being "sums") :
You may have heard that the Eleventh Commandment is "Thou Shalt Not Get Caught". That is, in fact, the Twelfth Commandment. The Eleventh Commandment is "Thou Shalt Not Divide By Zero".
I was mostly lucky with my maths teachers :).
andyandy
21st December 2006, 05:08 PM
I'd really love to find a way for this whole thing to work because it must suck to spend 10 years of your life on a theory that is about as useful as sunscreen in the arctic. .
sunscreen would be pretty useful - what with the high UV levels and all.....
now if you'd said as useful as a one-legged man at an arse kicking contest.......:)
enjoytheview
21st December 2006, 09:43 PM
Hmm true. Bad choice there. The one-legged man and the arse kicking contest works nicely. just pretend thats what i said.
Blert
29th December 2006, 09:33 AM
On a related note, I've just solved the Riemann hypothesis!!!11!!1
The answer is a symbol of my own devising that means "true" if the Riemann hypothesis is true and "false" otherwise.
The Clay Mathematics Institute should be contacting me any time now with my million bucks!11!!!1!
© 2001-2009, James Randi Educational Foundation. All Rights Reserved.
vBulletin® v3.7.5, Copyright ©2000-2009, Jelsoft Enterprises Ltd.