Omnia apud me mathematica fiunt. Tu ne cede malis. Momento mori.
For those who believe, no proof is necessary. For those who don't believe, no proof is possible. - Stuart Chase
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. - Albert Einstein
In contradiction to what I previously wrote ...
1/0 = infinity
1/ (-0) = -infinity
so if 0 = -0 then infinity = -infinity
Darn it, didn't want to get started on infinity again.
Ray Tomes
http://ray.tomes.biz/
I'll pick on Visual Basic as a programming language. A double-precision float is a "type" you can assign to variables. The double precision float contains exactly 27 places after the decimal point.
Assign a variable as a dp float, then assign a value to that variable, say 0.0. When you read back that variable, it will read 0.000...to 27 places.
Now perform some operations on that variable, like say, variable + 1.0, then variable - 1.0. Would you expect it to read back 0.0? Well, I would...except that's not what happens.
Performing operations on double-precision floats causes anomalous behavior. The result will never equal 0.0 but some random value around 0.0. And this is due to real-life Quantum physics in your very own computer. I can explain what I mean by this, but it's not within the scope of our conversation. It happens. It causes problems for every scientific programmer.
Fact is, after a few operations, the value is no longer zero, and is a signed float instead.
NOW, we create a new variable, we'll make this one a single-precision float. SP floats only hold 7 places after the decimal.
Let this 2nd variable be EQUAL TO the first variable. The second variable will truncate anything further out than the 7 decimal places, so it will now be 0.0000000 (seven places) except, it WILL NOW CARRY THE SIGN!
Here is your Signed Zero. An evil, dastardly thing that's plagued programmers since computers have existed. Positive zero is considered true zero, negative zero yields very unpredictable behavior.
there are work-arounds, like converting your work to large integers for the operations, than converting them back to float, but most scientific work prevents this.
And boy do I have stories...
I have written a program that simulates the affects of nuclear explosions, I made a collision detection algorithm, and I wrote a program that renders Buddhabrot sets. All of these flake out once in a while due to float errors.
Hence my vote. It depends on the application...or it depends on your requirements of reality. :^)
Last edited by Azure Infinity; 08-12-2011 at 12:53 AM.
There is a remote tribe out there that worships the number zero. Is nothing sacred???
That agrees with --> Signed zero - Wikipedia, the free encyclopedia which states, in part:
The IEEE 754 standard for floating point arithmetic (presently used by most computers and programming languages that support floating point numbers) requires both +0 and −0. The zeroes can be considered as a variant of the extended real number line such that 1/−0 = −∞ and 1/+0 = +∞, division by zero is only undefined for ±0/±0 and ±∞/±∞.
![]()
Omnia apud me mathematica fiunt. Tu ne cede malis. Momento mori.
For those who believe, no proof is necessary. For those who don't believe, no proof is possible. - Stuart Chase
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. - Albert Einstein
In order to prove this conclusion, you need to use some of the field axioms, and once you add an "infinity" number, you no longer have a field . . .
There are a bumch of ways to add "infinity" to the number system, and assigning different rules of arithmetic to it. The upshot is, it can't follow all the same rules as the real numbers, because this is provably impossible. (The real numbers are the unique totally ordered complete field - add something like infinity that is not a real number, and you must lose at least one of those properties.)
The extended real number line includes distinct pointsand
; as noted in the referenced page, the extended real number line is not a field. It does not have distinct
and
elements.
The real projective line adds a single point, so your equality above would hold in this system
This page also notes that the real projective line is not a field.
The Riemann sphere can be constructed as follows. Imagine the complex numbers occupying a standard Euclidean plane. Imagine a sphere resting on top of the plane, with its "south pole" touching the origin, and its "north pole" therefore at a point which is perpendicular to the origin. Then pick any complex number, and draw a line (through the three-dimensional space) from the north pole to the point on the complex plane where this particular number lives. The line starts at the north pole, goes inside the sphere, then passes through the surface of the sphere. Identify the point where the line passes through the sphere with this complex number. In this way, all the complex numbers can be mapped onto the surface of the sphere.
Thinking in latitude and longitude terms, we could assign to each complex numberthe latitude and longitude
This is a one-to-one mapping between complex numbers and the points on the surface of the sphere, with a single exception - there is no number associated with the north pole. The north pole is assigned the value "infinity", which is a stand-in for positive, negative, real, imaginary, every flavour of infinity.
So whetherdepends on how you define your infinity. But whatever you use, you can't use the field axioms to do your arithmetic!
In all of these systems, the real numbers, the extended real line, the real projective line, the complex numbers, and the Riemann Sphere, 0.999... is equal to one, so we will see if some of the members here get their competing wiki pages going soon.
Edited to add - oops, although I have described a way to map the complex numbers to all of a sphere except the north pole, the mapping I have is not quite the Riemann sphere. We'll call it the Coelacanth Sphere if no one has done it before.
Last edited by Coelacanth; 08-12-2011 at 03:15 AM.
Proud advocate of the ATM idea that 0.999... is equal to one.
1/0 =
1/(-0) = -(1/0) = -![]()
Pardon my imprecision.
I wonder what limr->0 1/[reiln(r)] would look like.
I'm pretty sure that that limit doesn't exist, since you've thrown in the imaginary i. The limit would have to be the same for all approaches to zero, and it looks to me that they are not. And just letting r be strictly real positive, the denominator would have a factor (cos ln(r) + i sin ln(r)) which would alternate between positive and negative values of one, while the other factor r would go to zero.
Bookmarks