4 ms·
I think this point of view is a little bit backwards - it's true that it's not defined (for the reals), but I don't think that's a convincing causal explanation
by bubblyworld 2y ago
I think this point of view is a little bit backwards - it's true that it's not defined (for the reals), but I don't think that's a convincing causal explanation.
I think we invent abstractions because they allow us to reason about patterns in reality in a consistent way. The fact that division by zero is undefined is (to my mind) because it doesn't correspond to any useful pattern in the parts of reality we typically apply arithmetic to (accounting, estimation, etc).
What I like about this point of view is that it encourages thinking about what you are trying to accomplish, rather than fixating on formal rules. In some contexts "division by zero" can correspond to a meaningful pattern - look up the geometry of the projective line, for instance. In such cases you might want to include it in your model, rather than declaring it to be undefined as a convention!
- Ferret7446 2y agoIf you want to go further, it's because division is defined as the inverse of multiplication. It doesn't really have anything to do with: > it doesn't correspond to any useful pattern in the parts of reality we typically apply arithmetic to (accounting, estimation, etc). You can of course re-define it, but then we aren't talking about the same thing any more. The operation of inverting multiplication, is not defined for zero.
- bubblyworld 2y agoBut this is my point - the definitions are the way they are because it's a good model of counting (and other counting-like things). They weren't invented in a vacuum. Similarly the fact that multiplication and division are inverses is a property of this model. Conceptually you can imagine splitting and copying groups of objects quite independently of one another (and which one you view as fundamental is really a post-hoc choice). In general these days we mostly see clean mathematical abstractions because all the scaffolding has already been removed by mathematicians past. And as a result people come to believe that this is how mathematics is done. But always there is an initial period of exploration (which eventually gets forgotten) as people try to work out how to axiomatise the various systems they are interested in.
- ggu7hgfk8j 2y agoAt the end of the day it's about practicality. Contrast 0^0 with 0/0. Both of them are considered undefined, but the former is often defined "locally", e.g in a given textbook or article to have the value 1. That's not true for 0/0 because it's not been found to be useful.
- bubblyworld 2y agoIndeed, 0^0 is often defined to be 1 in combinatorics textbooks, for instance, because in those contexts that's a useful/meaningful choice. In measure theory it's often useful to augment your reals with positive/negative infinity. In projective geometry it's sometimes meaningful to allow division by zero (to counter one detail of your comment). In nonstandard analysis you would consider infinitesmals to be valid numbers, and in game theory you might consider stuff like the surreals which are yet another to view the familiar numbers, with different laws. You can say we're talking about many different systems here, and that's true in a formal sense. I'm just pointing out that these formal systems come from somewhere, and mathematics is really about the thought-stuff underlying them. You should be willing to bend a rule here and there if it is truer to the concepts you care about - statements like "division by zero is undefined" should never be taken as absolutes. (but of course this is just my personal philosophy of mathematics, take it with a pinch of salt)
- fph 2y agoThere definitely are contexts in which it makes sense to define 0/0 = 0. Example: given a vector x and an approximation y to it, you wish to compute the "componentwise error" delta, i.e., the minimum positive number delta such that each entry of y is within relative error at most delta from the corresponding entry of x: (1) abs(y_i - x_i) <= delta * abs(x_i) for each i. This number can be computed as (2) delta = max (abs(y_i - x_i) / abs(x_i)) over each i. If you wish to allow zero entries in your vectors while keeping the equivalence between (1) and (2), you have to define 0 / 0 = 0.