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!
> 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.
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.
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.
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)
(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.
Take out a scientific calculator and start doing division by smaller and smaller units:
1/0.9
1/0.09
1/0.009
...
1/0.000000000000000000009
So we can then ask what happens if we do this more and more with incremental steps? It seems that we go toward infinity.
thus the more you do this the higher the returned number and I think we just discovered (I think I have to refresh my memory and hope not say something very wrong) the concept of calculus. Then we can use a new concept: limits - what happens when that 0.000000000............N is as close to zero as possible.
It actually tends towards 1 no matter how small the divisor
It doesn't always go to 0, hence why it is undefined