First, let me explain what I mean by "packing". When we pack two numbers into one it means that, by looking at the resulting number, we can uniquely determine the original two numbers that were packed. In other words, we're trying to find a bijection between a certain set of numbers (ultimately the transcendentals) squared and the natural numbers. My question is, then, can we take two transcendental numbers and combine them in such a way that we can "unwrap" the result and get them back again?

It's certainly possible to pack two natural numbers into one. For two numbers m and n, we can combine them as 2m · 3n. The resulting number will certainly have a unique factorisation into primes, according to the fundamental theorem of arithmetic. By counting the number of twos in this factorisation, we can restore m. Likewise, the number of threes describes n. In fact, as exploited in Kurt Godel's Godel numbering system, we can pack any number of natural numbers in this way. We simply raise successive primes to the power of the numbers we wish to pack.

This is so crucial to the rest of this write-up that I feel an example is in order. Let's say we wish to pack 3 and 5 together. We calculate 23 · 51, to give 1944. Notice that 1944 is huge compared to the two numbers we're packing, but this is a theoretical exercise; so long as the number is finite, we don't much care for its size.
Now, I give you 1944. You factor it as 2x2x2 x 3x3x3x3x3. That's 3 twos and 5 threes, so our original numbers were 3 and 5. Mission accomplished.

It takes only a little more thought to pack integers in general. Denoting the packed number by z (a convention we will stick to from now on),

z = 2|m| · 3S(m) · 5|n| · 7S(n).

S(x) represents the sign of x, which we define piecewise; S(x) = 1 for x > 0 and S(x) = 0 for x < 0. Again, by factorising z into primes, we find the magnitude of m and n, and paired with each, their signs. Just as before, we can in fact pack any number of integers together.

Our next logical challenge, then, would be to pack two rational numbers. We can do this in a rather similar way to before. To pack m, n ∈ Q, denote m as p / q and n as r / s. Since m and n are rational, it follows from the definition of a rational number that p, q, r, s ∈ Z. Since we now have four integers, we have effectively reduced the problem to the previously-solved one of integer packing.


So far, we have mainly been making straight-forward modifications to our original method. Our next step will require something more complex. We are now attempting to pack two real numbers into z. Since we can already pack rational numbers, the real challenge is to pack the irrational numbers. For this purpose, we will split the irrationals into two sets; those which are algebraic, and those which are transcendental. Let us approach the algebraics first.

Recall that an algebraic number can be found as the root of a finite polynomial with integer coefficients. Therefore the square root of 3, although irrational, is algebraic, since it is a solution of

x² - 3 = 0

In fact, within the range of real numbers, it is the only solution. This uniqueness of solution will become important in a moment.

Now to pack the two algebraic irrationals m and n, we first find the polynomials to which each is a solution. Here, a running example will come in handy, so we will be packing m = 2, and n = Golden ratio. m is then the solution to

x² - 2 = 0

and n is the solution to

x² - x - 1 = 0.

The coefficients of m's polynomial can then be described in the set M, where M = {1, 0, -2}. Notice that we must include the co-efficient of x1. Likewise, N = {1, -1, -1}.

Now we have two finite sets of integers, M and N, which can surely be packed by our earlier method. Unfortunately, we are faced with two problems. I will now explain the problems and their solution.

The first is that, by looking at z, we cannot determine which of the exponents belong in M and which in N. This is easily rectified. We also pack into z the degree of the polynomial associated with m. (The degree associated with n is redundant because clearly all those exponents not in M are in N.) For simplicity, we make D(m) (the degree of the polynomial associated with m) the exponent of 2. M and N are then packed as usual. Therefore, in our example, we would calculate

Z = 23 · 3M1 · 5M2 · 7M3 · 11N1 · 13N2 · 17N3.

Again, I have simplified by assuming that all members of M and N are necessarily natural numbers. This is certainly not the case, but we have already shown that any number of integers can be packed into z so the simplification is not an issue.

The second problem facing us is that, although z uniquely describes M and N, M and N do not necessarily uniquely describe m and n. This because a polynomial of degree P has P different solutions, by the fundamental theorem of algebra. Frequently, these will be complex numbers and so will not concern us. For example, with m, the other solution to

x² - 3 = 0

is x = -i√2. Therefore, only the real solution is valid in this case and there is no ambiguity. M uniquely describes m in our example. However, let us look at the polynomial for n:

x² - x - 1 = 0

There are two solutions to this, both real; x = (1 + √5) / 2 and x = (1 - √5) / 2. The former is the Golden Ratio we desire to pack; the latter needs to be somehow discounted. How is it clear which is intended? So far, it is not. Therefore, we must pack one final piece of information into z. We enumerate the different numbers N could describe as 1, 2, 3, etc, in ascending order of their values of n. Then we pack into z the number of the solution we desire, before packing N. In this case, we pack 2, since (1 - √5) /2 is the smallest solution, and (1 + √5) / 2 is the second smallest.

This gives us one huge z from which we can find our original m and n. Let us calculate z once and for all now:

M = {1, 0, -2}, D(m) = 2, Solution number = 1. (There is only one solution but we must include its number nevertheless. )

N = {1, -1, -1}, Solution number = 2. (Remember we don't need D(n). )

Therefore,

z = 22 · 31 · 51 · 71 · 110 · 130 · 172 · 190 · 232 · 291 · 311 · 371 · 410 · 431 · 470
= 91840169496180.

There you have it. We've packed the square root of two, and the Golden Ratio, into one huge number. If the mood takes you, you can unpack z and check that m and n are as expected.


Now, there is only one last challenge. This is to pack two transcendental numbers into z. Can it be done? Originally I was unsure, but I now know the answer is no. I've received a huge amount of feed-back on this already, and so I'll just present a selection of them here:

Ariels points out that we should restrict z to an integer. Otherwise we can interleave the digits of m and n to produce another real.

Linca points out that it can't be possible since we are trying to map R onto Z². R is uncountable, while Z² is countable. As Gritchka puts it, R simply has higher cardinality than Z, so at best a countable subset of R can be packed. This subset is well-ordered, so we can simply pack their ordinal integers.


We've assumed all the way through that z ∈ N. If we don't restrict ourselves in this way, the whole exercise is trivial. For transcendental m and n, let z = m + ni. There you have it. All done. In fact, you can describe complex m and n by letting z be a quaternion, and so on up! z must be a natural number for there to be any interest in the situation.

It is not possible to pack any two transcendental numbers, but it is possible to pack any numbers which can be represented.

Take two transcendental numbers which have representations. pi can be represented (using Eindhoven notation) as: "4 * ( + : (n ∈ Z) ∧ (n > 0) : ((-1) ^ n) / ((2 * n) - 1))". That's a string, in ASCII and HTML. This string can be represented by an integer. For example, put the string in a computer's memory somewhere, consecutive characters taking consecutive memory locations; the whole block of memory the string occupies can be interepreted as one large positive integer. e can be represented as "( + : (n is an integer) ∧ (n ≥ 0) : 1 / (n!))". And that can be represented as another large positive integer.

Now we have two positive integers representing two transcendental numbers. Two integers can be packed easily. From giving this example, it should be clear that any two numbers which can be represented - in any way - can be packed. One merely needs to encode the alphabet used in the representations, linearise the representation in some reversable way (perhaps adding to the alphabet in order to accomplish this), compose one big integer out of each representation and pack those two integers.

So the only numbers which cannot be packed are those that cannot be represented. (The set of numbers which cannot be represented is a proper subset of the transcendental numbers and is uncountable; the set of numbers which can be represented is countable.) And if you can't represent the number alone, it's hardly a restriction that it cannot be represented along with another number.

Log in or register to write something here or to contact authors.