Take the 2-minute tour ×
MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

The well-known problem is acquiring a cardinality of the set of distinct numbers in the multiplication table n x m.

The very problem has been discussed in-depth and, as such, I require no further input on it by itself. There has been, however, a significant amount of debate about it on StackOverflow, namely this question:

http://stackoverflow.com/questions/24614798/find-the-number-of-distinct-numbers-in-multiplication-table

and this question/bounty:

http://stackoverflow.com/questions/24714104/how-to-solve-erdos-uniques-multiples-in-about-an-iterations/24851735#24851735

As far as I understand, the problem has currently only O(n^2) computational solutions (strictly speaking, k*n^2 iterations, with k=0.5), while the asymptotic size of the set is equal to $$\left|\lbrace a\cdot b:\ a,b\leq N\rbrace\right|\asymp \frac{N^2}{(\log N)^c(\log\log N)^{3/2}}$$ where $$c=1-\frac{(1+\log \log 2)}{\log 2}.$$ (Ford, 2008).

As far as my knowledge goes, there is no explicit way to generate a set of size A(n) and to calculate it's cardinality without at least A(n) operations. Also, there currently exists no solution to acquiring the exact value of A(n) without generating the set and counting its unique elements.

There has been significant amount of dispute about it by certain individuals, convinced there is an O(n) solution to the problem [calculating A(n)], and that they have found it. Although such solutions are usually disproven, I'm interested if it's at all possible for this problem to be solved strictly below O(n^2), either with explicitly generating the set or using some functional relationship between n and A(n). Currently, both the reference solutions and the one sent by David are O(n^2).

[edit] for clarity, let us split this into two questions: a) can exact A(n) for a specific n be actually calculated without generating the set itself (i.e. without any need to know and possibly without any method to tell if a number is in the set, or not) - and if so, how? If not, possible reasons for practical/theoretical possibility/impossibility of creating such solution would be perfect, b) can A(n) be computed by generating the set in strictly below O(n^2) complexity (e.g. O(n^2/log log N) or similar)? If so, how would that be possible?

related:

How many different numbers can be obtained as product of first $n$ natural numbers?

Distinct numbers in multiplication table

Number of elements in the set $\{1,\cdots,n\}\times\{1,\cdots,n\}$

share|improve this question
    
I don’t quite understand what you mean by “at all possible”. Either there is a subquadratic algorithm for the problem, or there isn’t. As far as I can see, the only a priori lower bound on the time complexity of the problem is $\Omega(\log n)$ (which is the number of bits in the output). –  Emil Jeřábek Jul 20 at 19:41
    
@EmilJeřábek I agree that the verified existence of subquadratic algorithm would make the answer obvious; yet, because nobody has created such an algorithm so far (and I've seen many attempts that has failed), I'm asking is it possible for such an algorithm to exist - and if so, how would it have to work? ; still, I've added a clarification to the question. –  vaxquis Jul 20 at 19:45
1  
When the input is given in binary, the problem is in the counting hierarchy. Thus, if #P = FP, it can be solved in time polynomial in the input size, i.e., $O((\log n)^c)$ for some $c$. So, we cannot disprove the existence of an $O((\log n)^c)$ (let alone $O(n)$) algorithm without earth-shaking advances in complexity theory. –  Emil Jeřábek Jul 20 at 19:55
2  
Number-theoretic counting functions can be quite often computed faster than by enumerating the relevant set. For example, the prime-counting function $\pi(n)$ can be computed in time $n^{1/2+o(1)}$. I don’t know whether one can do something of that sort for the Erdős problem, but it is certainly possible in principle. –  Emil Jeřábek Jul 20 at 20:18
1  
One unsuccessful approach I tried was to group primes over $\sqrt{n}$. Any two primes between $n/2$ and $n$ are essentially equivalent, as are any between $n/3$ and $n/2$. This gives us only $(1+o(1))\sqrt{n}$ essentially different primes, and you can save some time by counting factorizations of essentially different products. However, a positive proportion of numbers up to $n$ have no prime factor over $\sqrt{n}$ since the density of numbers with no prime factor greater than their square root is $1-\log 2$, so there isn't an obvious improvement better than a constant factor. –  Douglas Zare Jul 21 at 12:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.