Incommensuration with Platonions

A set of incommensurate (or incommensurable) numbers is a collection of reals such that it is not possible to obtain one of them by multiplying the others by rational coefficients and summing the results. A more formal definition states that the family (I_i)_{i \leq N} is incommensurate  if for any set of integer coefficients (\lambda_i )_{i \leq N} such that

\sum_{i \leq N}\lambda_i\,I_i\,=0

it follows that the \lambda_i are all null (N can be infinite). Such numbers are quite useful : for instance if (\omega_1,\omega_2,...\omega_N) are incommensurate, then the vector V(t)=\big(cos(\omega_1 t),cos(\omega_2 t),...cos( \omega_N t) \big) can take any value in [-1;1]^N as long as we set the variable t appropriately. I recently found this trick used in Fourier amplitude sensitivity testing where it enables to collapse multiple integrals into single-dimensional ones.

Now that we have an idea why we could need them for, how do we find incommensurate numbers ? I have been surprised of how few one can find on this subject on the internet (links are welcome in the comments section !). It is clear that irrationals are good candidates, and among irrationals, square-roots of integers seem likely to provide incommensurate families. But not all of them : for instance \sqrt{2} and \sqrt{8} are not incommensurable ( since 2\sqrt{2}=\sqrt{8}) ! In a very pleasant and erudite text, Kevin Brown focuses on the numbers of the form \sqrt{N} where the integer N is not a multiple of the square of an integer bigger than 1:

 P = \{\sqrt{n} \in \mathbb{N}, n\geq 1 \} - \{\sqrt{k*a^2} | (k,a) \in \mathbb{N}^2, k\geq 1,a \geq2 \}

The first elements of this set are

\sqrt{1},\sqrt{2},\sqrt{3},\sqrt{5},\sqrt{7},\sqrt{10},\sqrt{11},\sqrt{13},\sqrt{14},\sqrt{15}, \\ \sqrt{17},\sqrt{19},\sqrt{21},\sqrt{22},\sqrt{23},\sqrt{26},\sqrt{29},...

Any finite subset of P , Brown shows, is incommensurate. The reals that you can produce with elements of P are named Platonions  (because of Platon and the quarternions… yep), but for the sake of simplicity I will call Platonions the elements of P (which, in Brown’s vocable, would be called a Platonic field basis…).  These numbers provide a very cheap way of generating incommensurate sets : just take an array of the first N integers, discards the integers of the form k*a^2 (necessarily we will have 2\leq a\leq \sqrt{N} and 1\leq k \leq N/a^2 ) and return the square roots of the remaining values. Here is the Python code:

def platonions_up_to(N):
    """ Returns numbers of the form sqrt(I) where I is not a
    multiple of a square. Such numbers are incommensurable."""
    squareMultiples = [k*(a**2) for a in range(2,int(math.sqrt(N))+2)
                                for k in range(1,1+int((N+1)/(a**2)))]
    return [math.sqrt(i) for i in range(1,N+1) if not i in squareMultiples]

Now what if we want exactly K incommensurate numbers ? How big should N be to be sure to find at least K Platonions inferior to N ? The good news is that Platonions are plentyfull. More precisely, the fraction of integers smaller than N that are Platonions is pretty much constant:

import matplotlib.pyplot as plt
Nlist = range(50,5051,500) # N = 50,550,1050,1550... 5050
proportionslist = [1.0*len(platonions_up_to(N))/N for N in Nlist]
plt.plot(Nlist,proportionslist);plt.show()
Platonion fraction

Fraction of integers smaller than N (x-axis) whose square-root is a Platonion

We see that the fraction integers smaller than N whose square-root is a Platonion is always bigger than 0.60. To be sure to find at least K Platonions we thus need to consider the K/0.60 first integers only. In Python:

def findKincommensurates(K):
    return platonions_up_to(int(K/0.60))[:K]

That’s as far as I will go today ! You can now reread the title and assess the progress you made in a topic that you had no idea existed a few minutes ago.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s