April 2009
If there is a single topic in basic mathematics that could be
considered "controversial", it is division by zero.
Ask three different experts about division by zero and you'll get at
least four different answers including any or all of: infinity, undefined,
impossible, should be avoided, not a number, zero.
You would think that Mathematics, Physics and Software Development
would share common rules for simple arithmetic, but they differ in one
area: division by zero.
In mathematics, Gottfried Leibnitz said it best: "We do not divide
by zero" (although this is not unanimous).
Similarly, in commercial software development, division by zero is
considered "out of scope" and is not performed.
Only in physics is division by zero considered to be a valid result.
You will find this in predictions of singularities, predictions of regions
of infinite gravity or field strength,
in the use of the Lorentz Factor,
in Special Relativity and other
areas.
So which approach is correct? Does Leibnitz' method just arbitrarily
avoid infinities, or is there a deeper reason to it? Is physics correct in
interpretations of regions of infinite density? Is 1/0 a number?
Many of the instances of division by zero in physics follow the general
pattern of density calculations like this:
Density = Mass / Volume
In these cases the volume is zero. In other words the result is
referring to a region of space that has zero dimensions. I.e. it does not
exist. A region of 0 x 0 x 0 is not a volume, it is a point. A point is no
more a volume than a line or a plane is.
This seems to escape the notice of those who make claims about infinite
density - the volume they are referring to is not a 3-dimensional value
and has no physical existence. In software development this would be
regarded as out of scope of the equation as it returned no useful
information. It also makes Leibnitz' advice look correct.
What's The Problem?
We should not lay the blame for our misunderstanding on zero. It is
simply that there is a better view of zero in physics: Nothing.
If you're like most people, you believe that 1 / 0 = infinity. Why do
you believe it? Because someone told you it was so. Perhaps you wondered
for a while about "something divided by nothing" but were
quickly told to get with the program... In fact 1500 years ago at least
some Indian mathematicians believed that division by zero returned zero.
It was only during the dark ages that the use of zero as a number and of
1/0=infinity became wide-spread.
Over time, following the "invention" of zero we lost our
concept of nothing as distinct from a "number zero". The Latin
word ciphra for zero actually comes from the Arabic word "sifr"
for empty or nothing. It has been forgotten that zero was introduced to
represent the absence of a number, not an actual number. In fact, we have
taken to using it as an actual number, such as in the time 00:00
(midnight) or as the zeroth element in an array. This confusion about
"man-made" zeros versus "natural" zeros such as zero
volume has lead to numerous errors in physics.
This distinction between "nothing" and "number
zero" has largely fallen out of use in mathematics and physics, but
is alive and well in software engineering. Why? Because you can't model
the real world without it. It is sometimes called "null" and
sometimes referred to as "nothing", it is equivalent to an empty
set { } - the absence of any value.
There is, in fact, a distinction between "nothing" and zero
as a number. Nothing is a zero-dimensional value, the empty set { }, but
in mathematics it is common to treat zero as a one-dimensional value, like
an integer half-way between -1 and 1, a set of a number { 0 }. The single
most important difference between these is that the result when dividing
by nothing is nothing, as there is nothing to divide by.
What's The Difference?
Following the "invention" of zero we lost our concept of
nothing as distinct from a "number zero". It has been forgotten
that zero was introduced to represent the absence of a number, not an
actual number.
Using the conventional view of zero { 0 }:
1 + 0 = 1
1 - 0 = 1
1 * 0 = 0
1 / 0 = Infinity
Viewing zero as null, nothing or the empty set { } these may be thought
of as:
1 + = 1
1 - = 1
1 * =
1 / =
Which is equivalent to:
1 + 0 = 1
1 - 0 = 1
1 * 0 = 0
1 / 0 = 0 (Note)
Taking the null view, if we interpret zero as null then we also
interpret the null results of multiplication and division as zero, i.e. 1
* 0 = 0 and 1 / 0 = 0. We use null and
zero interchangeably.
Note the variation in the results between the views above: division by
zero.
Interestingly, the old axiom that you "should not divide by
zero" still holds true, not because it arbitrarily avoids infinities
but because there is nothing to divide by and it is the right thing to do.
Regards,
AJ Corcoran
|