Zeroworld“, a recent episode of the WNYC podcast Radiolab, examined the possibility of division by zero. The discussion turned mostly metaphysical and got many listeners so angry that they went on to rant on Reddit. I understood this episode more as a fun thought experiment than as a formal proposal. But it also reminded me of some of my past questionings triggered by struggles with NaNs in data science. (NaN means “not a number” and results mainly from a division by zero.)

Let me start with a few preliminary remarks before more down-to-earth considerations.

### Beyond the Existential Monopoly of Arithmetics

By the ninth century, Indian thinkers stopped using the zero as a mere symbol of absence in a decimal position, and began to consider it as a number in its own right; śūnya (शून्य), emptiness. Śūnyatā (शून्यता) refers in Buddhism to the vacuity of beings and things; to the nonexistence of any fixed and invariant character, of any specific nature of things.

Intuition tells us that any number divided by zero is ∞, because there is room for an infinite number of nothings in any number, however small. Arithmetic contradicts this intuition: if we admitted that

$$\frac{1}{0} = x$$

then arithmetic would also need to postulate, by its own rules, that

$$x \cdot 0 = 1$$

yet it is impossible to find an x which, multiplied by zero, becomes anything other than zero. Ergo, we must admit that a number divided by zero is “undefined”. Or must we?

$$\infty \cdot 0 > 0 ?$$

Don’t an infinite number of nothings become more than nothing?

$$\frac{0}{0} = \infty ?$$

And does nothing contain nothing, or rather an infinite number of nothings? Can arithmetic alone settle these questions? An indefinable nature hides in all the nothings and conjugates ad infinitum.

### A Simple Construct for the Data Scientist

Existential questions set aside, I often work with statistics and algorithmic dataviz. And I do see use for an imaginary number with unit defined as 1/0. Let us call it iota (ι), and give it the following notation, definitions, and properties:

$$\begin{array}{c} \frac{0}{0} = \iota_0 \\ \frac{1}{0} = \iota_1 \\ \frac{2}{0} = \iota_2 \\ … \\ 1 \times \iota_1 = 0 \\ 1 \times \iota_2 = 0 \\ 2 \times \iota_1 = 0 \\ 2 \times \iota_2 = 0 \\ … \\ \iota_0 \times \infty = 0 \\ \iota_1 \times \infty = 1 \\ \iota_2 \times \infty = 2 \\ … \\ \iota_2 + \iota_3 = \iota_5 \\ \iota_2 \times \iota_3 = \iota_6 \\ \iota_2 – \iota_3 = \iota_{-1} \\ \iota_{-1} \times \infty = -1 \\ \end{array}$$

You think it’s weird? Perhaps. But not weirder than a Dirac delta, or the projectively extended real line that – as a matter of fact – also defines a/0=∞.

In my much simpler proposal, we use ι to store the initial dividend. Multiplying it by infinity at any given moment, I get my original number back. Arithmetic operations between ι numbers remain possible.

Why bother? Having a way to store all original dividends despite occasional divisions by zero would take tediousness away from some very basic statistical constructs like density and prevalence.

Say A and B are two social classes. In a study of two cities, I have two sets of populations:

$$p_1 = \begin{bmatrix} A=3\\ B=10 \end{bmatrix}$$
$$p_2 = \begin{bmatrix} A=2\\ B=0 \end{bmatrix}$$

Now, if I study the prevalence of any phenomenon x (hospital beds, dogs, schools, per capita…), I will be fine with pop_1, but I will always have the following prevalence in pop_1

$$\begin{bmatrix} \frac{x}{2}\\ \frac{x}{0} \end{bmatrix}=\begin{bmatrix} \frac{x}{2}\\ NaN \end{bmatrix}$$

Whatever x I tried to observe, NaN (“not a number”) just swallowed it for a part of my observations and I can never go back to the aggreagate

$$\frac{x}{A|B}$$

for instance if I decide to compare my two cities as wholes instead of their individual social groups. If I store my dividend (the one divided by zero) in some ι value, I can get it back if needed.

Overkill? Certainly, in my fictious A and B example, I admit, but I do remember occasions when studying phenomena at diverse levels of aggreagation, when NaNs drove me crazy. Imagine that you are using data inhertited from someone who decided to give you only the resulting column of her calculations, and not the original divisors and dividends. Imagine you’ve accidentaly overwritten a column in your data and want to get its content back by a reverse operation.

Such things would become possible if my software could handle imaginary numbers ι with unit defined as 1/0 and with properties defined as above, this would have spared me the trouble. Whether math purists will have it is doubtful, but it would sure come in handy. Or what do you think?