Thursday, 30 September 2010

Different Types of Zero

It took mathematicians a while to realise that infinities came in different sizes.

The problem was an inadequacy of language. All "infinities" are infinite, but some are a little more infinite than others. For instance, "infinity-squared" gives an infinite result, but it's a stronger infinity than the infinity that we started out from ... but by deciding to assign all these different infinite results the same name — "infinity" — we created an implicit assumption that this "infinity" was a thing, a single entity rather than a family. We ended up reciting things like "infinity is just infinity, by definition". Well, if so, it was a pretty bad definition, because infinity isn't so much a value as a realm, or a concept that allows multiple members, like "integer".

Our conventional language breaks down in these sorts of situations. To try to get a handle on the infinities, we can construct an "infinity-based" number system where our reference base unit [∞] is a "reference infinity" of "one divided by zero" (we can say, "1/0 =[∞]"), and we can compare other infinities to that, so that 2/0 gives 2×[∞], and 2×[∞] / [∞] = 2. It's possible to do proper math and get sane finite results by multiplying and dividing infinities together, as long as you remember to keep track of how big each individual infinity is (and/or where it originally came from).

We do similar things with complex numbers. These have two components, a conventional "real" component, and an "imaginary" component that's a multiple of the "impossible" square root of minus one, which we abbreviate as i. Even though the imaginary components don't exist in our default number system, we can still do useful math with these hybrid numbers ... that's actually how we generate exotic mathematical creatures like the the Mandelbrot Set. The approach works. We've seen the pretty pictures.

So multiple values of infinity are okay.

But there's one last thing that we have to fix. Zero. See, it turns out that if infinities come in different sizes, then zero has to come in different sizes, too.

At first sight this seems even more crazy. We can plot a simple line going through zero, and put the tip of our pencil on the crossing point, and say there it is, right there. How can that single point have different values? Well, as with the infinities, the auxiliary values exist off the page — when different graphs all hit zero at the same position, the properties associated with the coincident points on those different graphs aren't automatically completely identical even though they show up as being at the same position. Coincident points on different intersecting lines can carry different slopes and rates of change, and can have associated vectors and other associated baggage that gets lost when we try to break a line down into instantaneous isolated unconnected values.

Zero times any conventional number gives a zero, just like infinity times any conventional number gives an infinity. But not all zeroes have the same emphasis or strength, and this can become important when you have them fighting against each other. If we're only multiplying our zeroes by normal boring numbers then the auxiliary parameters don't matter, but as with the infinities, when we start multiplying or dividing different zeroes, we have to track the strengths of the zeroes, or else we tend to end up with mathematical garbage.

One of the problems that theoretical physicists currently have is they they're coming up against a range of problems — black hole event horizons, Hawking radiation, gravity-wave and warpfield propagation — where clusters of values assigned to apparent physical properties have a habit of going to zero or to infinity and beyond, even though the underlying local physical properties are non-zero and non-infinite. To deal with those problems we either have to find ways of sidestepping the pathological math, or come up with a more complete mathematical vocabulary that doesn't freak out when we occasionally need to divide a known strength of infinity by an associated known incarnation of zero.
Otherwise, we're liable to come to bad conclusions about how certain things are "provably physically impossible" because they appear to break the math, when in fact, the real problem is that the math that we're trying to apply to the problem is too naive. If we go down that route, we can end up accidentally elevating the result of human error to the status of an accepted mathematical proof.

Which is bad.


Anonymous said...

I actually had the exact same idea a few years ago, and decided to see if I could write a C++ class that would allow arbitrary math while preserving information that would normally be lost as soon as a zero-division occurs. Everything was going great, I had written the four basic operators (+,-,*,/) and the power operator for positive integers, and I had even written an iterative Mandelbrot-like function I was using to explore this new type of mathematics. This was when I hit a brick wall: what is the square root of infinity? Really that's just a specific case of the more general question of how to take the logarithm and exponentiate infinity to calculate powers, roots, trig functions, etc. So far I haven't been able to come up with a solution and honestly I gave up on it a long time ago. I realized that this system is akin to single-variable polynomials, which also have no definitions for those functions.

Anyway if you are so inclined to pursue this further I'd be happy to send you the source code of what I've completed so far.

--Doctor Zero

OldSchool Sheerness said...

I struggled a while with multiple zeroes on the same number line, but then realised that the real number line had infinitly more points than the integer line; so in computer terms, there is a diference between integer zero and floating point zero. This does seem very reasonable. We should not be comparing the two. Keep up the good work.