Finding approximate largest common divisor for sets of real numbers.

166 Views Asked by At

For integers, there exist well known algorithms to find largest common divisors for sets of numbers.

But what if we don't have integers, but a set of real numbers $\{a_1,a_2,\cdots,a_n\}$?

Can we find some largest $m$, so that $a_k = ml_k$ for $l_k\in \mathbb Z$ ?


edit If numbers are pairwise irrational ( for example $1$ and $\sqrt 2$ ), can we if given a weight function still find a "best approximating" common divisor somehow?

In other words (if we stuff our numbers into vectors ) minimize $\|{\bf a}-m{\bf l}\| + \|w(m)\|$

1

There are 1 best solutions below

0
On BEST ANSWER

A partial answer could go something like this.

If we consider the set of numbers $\{d_1,\cdots,d_n\}$.

We then estimate a smooth histogram like this:

$$h_l = \sum_{\forall k}\exp\left[-\frac{|d_k-v_l|} \sigma\right]$$

for histogram center points $v_l$.

enter image description here

Now we can do a FFT on the histogram:

enter image description here

And the Fourier spectrum has very distinct local peaks at all multiples of the frequency of the lowest common multiple. To get the gap we now need to divide the histogram support by this base frequency.