Info

This question is closed. Reopen it to edit or answer.

Why does 0 times infinity not equal 1?

1 view (last 30 days)
Roger Ahier
Roger Ahier on 29 Dec 2017
Closed: Stephen23 on 4 Feb 2024
Tell me how 1 divided by infinity does not equal 1. When you graph x * y =1, do 0 and infinity not meet at the same point? Seems like basic math to me, I was astounded when I heard someone thought it was 0 or undefined. Dividing by 0 and multiplying by infinity is the same thing. I can't look at the 2 and not see that they are reciprocals.
  2 Comments
Roger Stafford
Roger Stafford on 29 Dec 2017
@2nd Roger: Suppose you graphed x*y = 10. Then wouldn't you conclude that zero times infinity was equal to ten? That is the reason that this operation in mathematics is considered to be "undefined". It is not a matlab question - it is something that is dealt with in any course in calculus.
John D'Errico
John D'Errico on 4 Feb 2024
This problem should arguably be closed. It is not about MATLAB at all. And all it will do is attract random useless answers and comments.

Answers (4)

John D'Errico
John D'Errico on 29 Dec 2017
Edited: John D'Errico on 29 Dec 2017
While you talk about "basic math", the concept of infinity can be quite paradoxical, and rarely truly basic.
inf in MATLAB is not a true number. It is a flag that MATLAB found something strange, that something should be really big, but MATLAB was not really sure how big. NaN falls in the same class, as a flag that MATLAB found something it could not resolve, an indeterminacy.
You can only view inf in terms of limits. So we can think of inf as the limit of x, as x gets arbitrarily large.
So then, what is inf*0? Again, you need to consider it in terms of a limit. But the problem is, which limit?
Is (inf*0) the limit of (x*0), as x gets arbitrarily large? In that case, inf*0 would logically be 0.
Or, is (inf*0) the limit of inf/x, as x approaches zero? If we accept that inf multiplied or divided by any positive non-zero finite constant is still inf, then inf/x must be inf.
We can as easily make arguments that inf*0 might be 1, or any value you so desire. Personally, I think it should be 17, but cogent, published arguments exist for 42 as the result. Must I provide a reference for 42? ;-)
The point is that since inf*0 really has no uniformly consistent limit, we must call it NaN. It is indeterminate.
  8 Comments
Walter Roberson
Walter Roberson on 30 Dec 2017
Sure. Within the set of integers, f(x) might exist but 1/f(x) would not generally exist, so f(x)*1/f(x) would not be computable.
You need to start providing citations for your mathematical claims of what "number" is, and of how "*" and "/" are defined.
John D'Errico
John D'Errico on 30 Dec 2017
Edited: Walter Roberson on 14 Dec 2023
This question is rapidly de-evolving. It was never about MATLAB at all. What Roger needs to do is step back and do some reading about abstract algebra, multiplicative inverses, and infinity. For example, these might be some useful starting points that talk about 0, infinity, and multiplicative inverses:
The point is, mathematics is very clear on the subject. It hardly makes sense for us to repeat proofs that 0 does not have a multiplicative inverse, to discuss whether infinity is a number, etc. But none of that lies within the realm that MATLAB Answers should be answering.

Walter Roberson
Walter Roberson on 29 Dec 2017
1/0 is infinity
2/0 is infinity
3/0 is infinity
multiply both sides by 0:
1 is infinity*0 ?
2 is infinity*0 ?
3 is infinity*0 ?
we see that infinity*0 must be all values (except perhaps 0) simultaneously. In mathematics when a value can legitimately be any value, mathematics says that the result is undefined.
  2 Comments
Roger Ahier
Roger Ahier on 29 Dec 2017
Edited: Walter Roberson on 14 Dec 2023
Zero is not a number, it is a limit, just like infinity. The opposite as a matter of fact. There are only 3 states; 0, any number and infinity. Any number times any number is a number, so let's just call any number 1. Any number times 0 equals 0 and any number times infinity equals infinity. In this way, they are similar to the square root of -1. As long as there are an even number, you get a real number. The same holds true for limits so if you have an even number of limits, you get a real number, or in this equation, 1.
0 is the anti-particle of infinity. Nothing vs everything. They are reciprocals. I don't know how else to explain it to make it clear as a bell. You can even graph it. Try this. The blue curve is the red curve divided by 0. https://www.desmos.com/calculator/tegcjj8bkg

Rik
Rik on 29 Dec 2017
This is not a Matlab question.
massively simplified 'answer' incomming:
Infinity is a strange thing. If you approach it with a limit, it is easy to see how 1/x with x approaching infinity is 0.
Division by 0 is another thing. a/b=c is 'actually' solving a=b*c. This way, you see that for b=0, a and c must be 0 as well, or c can be anything, depending how you take a limit. To avoid this breaking other maths, division by 0 is generally taken to be undefined. (or sign(a)*inf, as Matlab does, except with 0/0, which results in NaN)
  5 Comments
Rik
Rik on 29 Dec 2017
If you already know the answer, why bother asking the question?
Also, it surprises me that you would need to have posted a question before you can comment. I know this is the case on StackOverflow, but if that is the case on this forum, that's something that has changed very recently.
Image Analyst
Image Analyst on 29 Dec 2017
You do need to have an account before you post a question, answer, or comment, but you do not need to post a question before you post a comment to the "someone" you were trying to help. You could have posted right there in their question.
What is the link to that person's question? For completeness, you might as well post it here, though I agree it's more of an abstract math question than a MATLAB programming question.

Hana Juneja
Hana Juneja on 14 Dec 2023
I'm not sure this is right but I'm pretty sure that 0 times infinity is zero. Here's why:
0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0...it could just keep on going infinitely, and your result would be zero even if you continued that pattern infinite times.
  4 Comments
Walter Roberson
Walter Roberson on 4 Feb 2024
There is no "end" to the summation, so there is no "left-over" -1
John D'Errico
John D'Errico on 4 Feb 2024
How silly. And this is exactly why this question should be closed. It has nothing to do with MATLAB. The answers are going off the rails, posted by those who don't understand the concepts of infinite series, and even basic mathematics. But I suppose I might as well add this...
0 + (1 - 1) + (2 - 2) + (3 - 3) + (4 - 4) + ...
Clearly we can argue the sum is zero, since pairs of terms add up to zero, right? And the first term is already zero.
But now just rearrange the parens.
(0 + 1) + (-1 + 2) + (-2 + 3) + (-3 + 4) + ...
Each pair inside those parens now add up to 1. And there are infinitely many ones in that sum. So the sum is infinite. There is no term left off at the very end, since it will be paired with another matching term after it, that is one greater. Clearly the sum is now infinite. All I needed to do was move around the parens.

This question is closed.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!