0.99999... != 1

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
User avatar
~
Member
Member
Posts: 1226
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Post by ~ »

It seems like a conceptualized way for handling accurate ciphers in practice; but in actual math no number is like other. Just like the example of (N/0.000.....1), which mathematically would never give a division by 0.

Even if you divide (0.000...1/0.000...1) it will give you 1, and if you divide (0/0) it will give you "error". Two different results that are telling me that even when there isn't any value between 0 and 0.000...1 (or the like), it still gives me a result indicating me that there's a difference (unless there is a statement that says a division by 0 would actually give something like 0.000...1; but I am sure that's not the case).

If it's a complex way of expressing that something like 0.99999999... is another way of writting, of expressing and handling a total unit using something like infinitely decimal notation, and a bunch of fine concepts, then I agree on that; but in practice I would never say that two numbers are ever the same.

That's just because it's seen from a computational point of view. If computers were actually infinite-capacity machines, I am sure that a binary representation of 0.9999999999999... and 1 would be different and a comparisson of the two in memory will indicate a difference in the encoding.

---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
---------------------------------------------------


Other thing to see is that any number divided by itself except 0 (that includes infinitely decimals), be them positive or negative, always gives 1, 1 positive.

It means that thought in that way we would end up wit a binary system, 0 for nonexistent and 1 for any other value, for existing.

But I don't think it ever starts to reach that.
GLneo
Member
Member
Posts: 237
Joined: Wed Dec 20, 2006 7:56 pm

Post by GLneo »

So, if there's no real number between two real numbers, they must be the same. (If they weren't the same, between them there'd be another real number.)
but as i said before then every number is equal: 1 would be equal to 1.0000...1, 1.00000...2, etc...
Care to explain?...
well hmmm... lets look at a common one:

Code: Select all

x = .9999....
10x = 9.9999...               
10x - x = 9.999... - .999... // here ------------
9x = 9
x = 1
lets try this as a different problem:

Code: Select all

x = .999999
10x = 9.99999
10x - x = 9.99999 - .999999
9x = 8.99991
x = .999999
they just presume the .999... that was multiplied by 10 is the same and the first .999... and will come out even when subtracted but they shouldn't
nick8325
Member
Member
Posts: 200
Joined: Wed Oct 18, 2006 5:49 am

Post by nick8325 »

OK, so our difference in opinion is because you think that infinitesimal numbers (0.000000...an infinite numbers of 0s....00001, so the 1 appears only in the infinityeth decimal place) exist, and I think they don't. (If you want there not to be a value between 0 and 0.000...1, there has to be an infinite number of 0s before the 1. Otherwise, 0.000...01 (where the 1 appears after one more decimal place) lies between 0 and 0.000...1.)

Number systems with infinitesimal numbers and without infinitesimal numbers both make sense, they're just different number systems (the real numbers and the hyperreal numbers) and lead to different mathematics. So it's up to you which one you believe in :)
That's just because it's seen from a computational point of view. If computers were actually infinite-capacity machines, I am sure that a binary representation of 0.9999999999999... and 1 would be different and a comparisson of the two in memory will indicate a difference in the encoding.
I'm not sure that helps, though. Two things can have different encodings but represent the same thing. For example, 2/3 and 4/6 are different encodings of the same number.
User avatar
~
Member
Member
Posts: 1226
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Post by ~ »

nick8325 wrote:Number systems with infinitesimal numbers and without infinitesimal numbers both make sense, they're just different number systems (the real numbers and the hyperreal numbers) and lead to different mathematics. So it's up to you which one you believe in :)
Actually it would be better to keep them in mind as conceptual tools to see which of them we need or renders the best results, until the "True Math System" is found.

nick8325 wrote:
That's just because it's seen from a computational point of view. If computers were actually infinite-capacity machines, I am sure that a binary representation of 0.9999999999999... and 1 would be different and a comparisson of the two in memory will indicate a difference in the encoding.
I'm not sure that helps, though. Two things can have different encodings but represent the same thing. For example, 2/3 and 4/6 are different encodings of the same number.
[/quote]

When I mean encoding I means something like:


00000000 00000001 --- Example of infinitely 0.0000...1
00000000 00000000 --- Example of 0.0
nick8325
Member
Member
Posts: 200
Joined: Wed Oct 18, 2006 5:49 am

Post by nick8325 »

GLneo wrote:
So, if there's no real number between two real numbers, they must be the same. (If they weren't the same, between them there'd be another real number.)
but as i said before then every number is equal: 1 would be equal to 1.0000...1, 1.00000...2, etc...
But isn't 1.0000...05 between 1 and 1.0000...1? So then they're not equal.

(Besides, there aren't any real numbers which differ only at the infinityeth decimal place. For that you need infinitesimals - something like the hyperreal numbers. It might be that 0.999... and 1 are different in the hyperreal numbers (0.999... could be 1 minus an infinitesimal amount), but I'm not sure.)
GLneo wrote:
Care to explain?...
well hmmm... lets look at a common one:

Code: Select all

x = .9999....
10x = 9.9999...               
10x - x = 9.999... - .999... // here ------------
9x = 9
x = 1
lets try this as a different problem:

Code: Select all

x = .999999
10x = 9.99999
10x - x = 9.99999 - .999999
9x = 8.99991
x = .999999
they just presume the .999... that was multiplied by 10 is the same and the first .999... and will come out even when subtracted but they shouldn't
At any finite decimal place, the two .999...s will have the same digit. As there aren't any two real numbers that differ only at the infinityeth decimal place, they're the same in the real number system.

So in the standard real number system, the two things are equal. In other number systems they might not be. I suppose this is where all this disagreement is coming from: we're not talking about the same number system! The one I'm talking about doesn't have infinitesimal numbers, and the one you're talking about does.
nick8325
Member
Member
Posts: 200
Joined: Wed Oct 18, 2006 5:49 am

Post by nick8325 »

~ wrote:Actually it would be better to keep them in mind as conceptual tools to see which of them we need or renders the best results, until the "True Math System" is found.
I don't think that'll happen any time soon :) Some parts of maths are so weird that no-one can agree on what should be true or not...

But I agree, you can definitely use both. For example, you could treat both systems just as abstract things satisfying some rules, instead of wanting them to actually exist somewhere.
~ wrote:
nick8325 wrote:
That's just because it's seen from a computational point of view. If computers were actually infinite-capacity machines, I am sure that a binary representation of 0.9999999999999... and 1 would be different and a comparisson of the two in memory will indicate a difference in the encoding.
I'm not sure that helps, though. Two things can have different encodings but represent the same thing. For example, 2/3 and 4/6 are different encodings of the same number.
When I mean encoding I means something like:


00000000 00000001 --- Example of infinitely 0.0000...1
00000000 00000000 --- Example of 0.0
Ah, I see what you mean now...
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Post by AndrewAPrice »

~ wrote: ---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
I'm confused.. #-o Are they lines we're suppose to fill the answer in? Or are you using them to divide you topics..

Anyway.. explain how you could write a number in base 1.. A number which doesn't represent inifinity or 0.
My OS is Perception.
uglyoldbob
Member
Member
Posts: 62
Joined: Tue Feb 13, 2007 10:46 am

Post by uglyoldbob »

I didn't read all of the three pages. But here goes my math teachings.

0.9999..... does not (and does at the same time?) equal 1

Given this equation:
limit (as x approaches infinity) (10^x - 1)/(10^x)

it is the same as
limit (as 10^x approaches infinity) (x - 1)/(x)

and
limit (as x approaches infinity) (x-1)/(x)

The answer to all three limits here is 1. But in a computer, infinity is not representable. Because of limited storaged for real (non integers) you would experience rounding errors. You will get either 1 or (some number real close to 1, but still below it)

$0.02
I have an 80386SX 20MHz 2MB RAM.
It is my testbed platform. Only has the 3.5" and 5.25" floppy drives.
User avatar
~
Member
Member
Posts: 1226
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Post by ~ »

MessiahAndrw wrote:
~ wrote: ---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
I'm confused.. #-o Are they lines we're suppose to fill the answer in? Or are you using them to divide you topics..
The second.


MessiahAndrw wrote:
~ wrote: Anyway.. explain how you could write a number in base 1.. A number which doesn't represent inifinity or 0.
No. What I wanted to state is that any number not equal to 0, be it decimal, integer, negative or positive, will always give 1 when divided by itself. So, we cannot say either that 0=0.000...1 or vice versa, because by dividing 0/0 we get indeterminate, but by dividing 0.000...1/0.000...1 we will get 1, hence it demonstrates that even when 0 and the hypotetical smallest infinite fraction 0.000...1 don't have numbers in between, they are not the same, at least for the logic of a "child's eyes" and in "practical computing".




uglyoldbob wrote:I didn't read all of the three pages. But here goes my math teachings.

0.9999..... does not (and does at the same time?) equal 1

Given this equation:
limit (as x approaches infinity) (10^x - 1)/(10^x)

it is the same as
limit (as 10^x approaches infinity) (x - 1)/(x)

and
limit (as x approaches infinity) (x-1)/(x)

The answer to all three limits here is 1. But in a computer, infinity is not representable. Because of limited storaged for real (non integers) you would experience rounding errors. You will get either 1 or (some number real close to 1, but still below it)

$0.02
That's the very point when it refers to practical computing. Anyway, the computer isn't designed to assume such logics, or at least it implements only a limited set of those assumptions by the said roundings, NaN's, etc...
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

Beware when handling "infinity" in any of its forms.

My reasoning:

0.999...{infinity} does not have a "last" 9. It goes on ad infinitum.

Even while there is no other number between 0.999...{infinity} and 1, the two are not the same, since you would have to add 0.000...{infinity}...1 to achieve 1.0.

0.000...{infinity}...1, though, is a hypothetical construct, because the {infinity} implies that the trailing "1" is not there at any given point. For any digit k at which it could appear, there is a k+1, so you will never see that "1".

The only way to get a "1" at an infinite digit is to take 0.111...{infinity} and multiply it by 9, which is why that gives you 1.0, instead of 0.999...{infinity}.

Bottom line, the two are infinitely close together, to the point where people can "prove" them to be technically identical. (This is a point where I don't trust blog entries and would like to hear a maths prof's take on it.)

They are still two seperate entities in the mathematical space, because 1.0 is a whole unit and 0.9 recurring is not (or you would have written 1.0).
Every good solution is obvious once you've found it.
User avatar
gaf
Member
Member
Posts: 349
Joined: Thu Oct 21, 2004 11:00 pm
Location: Munich, Germany

Post by gaf »

Solar wrote:Even while there is no other number between 0.999...{infinity} and 1, the two are not the same, since you would have to add 0.000...{infinity}...1 to achieve 1.0
With real numbers the infinitly small amount that has to be added is nothing else but zero. As Nick already mentined more exotic numbering systems might however handle this in a different way (Infinitesimal)
Solar wrote:This is a point where I don't trust blog entries and would like to hear a maths prof's take on it
At least until we've found our math prof wikipedia will have to do the job..

regards,
gaf
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Post by Candy »

~ wrote:
to all three limits here is 1. But in a computer, infinity is not representable. Because of limited storaged for real (non integers) you would experience rounding errors. You will get either 1 or (some number real close to 1, but still below it)

$0.02
That's the very point when it refers to practical computing. Anyway, the computer isn't designed to assume such logics, or at least it implements only a limited set of those assumptions by the said roundings, NaN's, etc...
Your computer has special encodings for positive infinity, negative infinity, positive zero, negative zero (yes), positive denormal, negative denormal, positive reals, negative reals, QNaNs and SNaNs. The rules of the game still apply though - dividing by 0 still doesn't work nicely.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

gaf wrote:With real numbers the infinitly small amount that has to be added is nothing else but zero.
Meeeeep. You can't use the hypothesis you're trying to prove (really really close equals equal) to prove your hypothesis. 8)

Note that I agree that the two are technically identical, so I don't really argue against the "identical" fraction here. It's just that 0.(9) and 1.0 are two different things, simply because you write the first as 0.(9) and the latter as 1.0.
Every good solution is obvious once you've found it.
User avatar
gaf
Member
Member
Posts: 349
Joined: Thu Oct 21, 2004 11:00 pm
Location: Munich, Germany

Post by gaf »

Solar wrote:You can't use the hypothesis you're trying to prove to prove your hypothesis
That's why I refered to wikipedia as a source of more information. If you give the article a try you'll find out that it's actually quite complete and includes several proves for the equality of 0.9... and 1.0
Solar wrote:"Really really close equals equal"
While I certainly agree that very similiar values can often be considered as identical in real-life the point of my argument really was that 0.9... and 1.0 are equal in a mathematical sense: When really close values are equal in practice infinitely close values are equal in math

In my opinion the difference becomes most obvious when looking at the asymptotes of a hyperbola (image). If you choose a very high value for x the graph of the function (f: x -> x^-1) will get so close to the x-axis that the difference could be neglegted: While the graph never reaches the x-axis it could still be said that the two are equal from a practical point of view. That's might be what you meant with "technically identical" ?

When considering what happends as x now appraches infinity it might help to think of the process of a series: For every iteration (adding a zero to your infinity) the distance to the axis shrinks (let's say it gets reduced by 50%). The remaining distance could then be expressed as:

d(x) = 1 - 1/2 - 1/4 - 1/8 - 1/16 - ... - 1/2^x

As x now diverges against infinity the distance between axis and graph becomes arbitrarily small. The limit of the series is therefore zero (Infinite geometric series)
Solar wrote:It's just that 0.(9) and 1.0 are two different things, simply because you write the first as 0.(9) and the latter as 1.0
The same could be said about 1/2 and 0.5 - yet nobody seems to doubt that these two are exactly the same

cheers,
gaf
User avatar
~
Member
Member
Posts: 1226
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Post by ~ »

gaf wrote:
Solar wrote:
Solar wrote:It's just that 0.(9) and 1.0 are two different things, simply because you write the first as 0.(9) and the latter as 1.0
The same could be said about 1/2 and 0.5 - yet nobody seems to doubt that these two are exactly the same
That's what I meant when I said that 0.999... was yet another way of trying to say that the number is actually another representation of 1. I think that we could still add an infinitely small value of:

Code: Select all

(0.00000......1+0.99999...)
I am totally sure that if we add those two infinite numbers represented as infinity we would actually get 1.0. And if we execute:

Code: Select all

(0.0000000000......+0.99999...)

We would get the same 0.9999999..... What about that?

By the way, does the division (0.9999..../1) in the processor or a calculator give a result of 1? Or vice versa? If not, even when under certain math standards it is considered as being the same number, wouldn't the computer then be taking into account an infinitely 0.000000.....1 between 0.999999.... and 1.0? What about that?

Just a question: couldn't the limited number of digits in a calculator or processor be taken as a way of representing infinity in a limited space?
Post Reply