(Research thread V) Determinstic way to find primes

The current goal is to find a deterministic way to locate a prime in an interval in time that breaks the “square root barrier” of (or more precisely, ). Currently, we have two ways to reach that barrier:

Assuming the Riemann hypothesis, the largest prime gap in is of size . So one can simply test consecutive numbers for primality until one gets a hit (using, say, the AKS algorithm, any number of size z can be tested for primality in time .

The second method is due to Odlyzko, and does not require the Riemann hypothesis. There is a contour integration formula that allows one to write the prime counting function up to error in terms of an integral involving the Riemann zeta function over an interval of length , for any . The latter integral can be computed to the required accuracy in time about . With this and a binary search it is not difficult to locate an interval of width that is guaranteed to contain a prime in time . Optimising by choosing and using a sieve (or by testing the elements for primality one by one), one can then locate that prime in time .

Currently we have one promising approach to break the square root barrier, based on the polynomial method, but while individual components of this approach fall underneath the square root barrier, we have not yet been able to get the whole thing below (or even matching) the square root. I will sketch the approach (as far as I understand it) below; right now we are needing some shortcuts (e.g. FFT, fast matrix multiplication, that sort of thing) that can cut the run time further.

— The polynomial method —

The polynomial method begins with the following observation: in order to quickly find a prime in , it suffices to be able to quickly solve the prime decision problem: given a subinterval of , decide whether such an interval contains a prime or not. If one can solve this problem in, say, time, then one can find a prime in this time also by binary search.

Actually, using Odlyzko’s method we can already narrow down to an interval of length with a lot of primes in it in time, so we only need to break the square root barrier for the decision problem for intervals of length or less.

The decision problem is equivalent to determining whether the prime polynomial

(1)

is non-trivial or not, where ranges over primes in the interval .

Now, the prime polynomial, as it stands, has a high complexity; the only obvious way to compute it is to enumerate all the primes from to , which could take time in the worst case. But we can improve matters by working modulo 2; note that as the coefficients of are either 1 or 0, it suffices to decide whether is non-trivial modulo 2.

The reason we do this is the observation that if is a natural number, then the number of solutions to the diophantine equation with is odd when n is prime, and usually even when n is composite. (There are some rare exceptions to this latter fact, when n contains square factors, but it seems likely that one can deal with these latter cases by Möbius inversion, exploiting the convergence of the sum .) So, the prime polynomial f modulo 2 is morally equal to the variant polynomial

(2)

So a toy problem would be to decide whether (2) was non-zero modulo 2 or not in time or better.

The reason that (2) is more appealing than (1) is that the primes have disappeared from the problem. Instead, one is computing a sum over a fairly simple region bounded by two hyperbolae and two lines.

The point is now this: if vanishes modulo 2, then it also vanishes modulo for any low-degree polynomial g (degree or better), and more generally $\tilde f(x^n)$ vanishes modulo . Conversely (if one is lucky), if vanishes modulo for sufficiently many , then it should be that vanishes. So this leads to the following strategy:

Goal 1: Find a collection of such that if vanishes modulo for all the pairs , then vanishes modulo 2.

Goal 2: Find a way to decide whether vanishes modulo for all the required in time or better.

One way to achieve Goal 1 is to forget about , and choose the so that the least common multiple of all the (modulo 2) cannot divide . Since is basically a polynomial of degree shifted by a monomial, one obvious way to proceed would be to pick more than polynomials g. But then it looks unlikely that one can beat the square root barrier in Goal 2. Similarly if one varies n as well as g.

On the other hand, we have a partial result in Goal 2: for any fixed n and g, we can compute in time below the square root barrier, e.g. in time . For instance, setting n=1 and , we can compute in this time. Unfortunately a single n,g is not nearly enough to solve Goal 2 yet, so we either need a further advance on Goal 1, or some very efficient way to test non-vanishing of modulo (2,g) for many pairs (n,g) at a time (e.g. by an FFT type approach).

The partial result is based on the fact that has an arithmetic circuit complexity below the square root level, i.e. it can be expressed in terms of (say) arithmetic operations. As such, for any low-degree g (say degree ), can be computed in time (using fast multiplication for mod g arithmetic if necessary).

Let’s sketch how the circuit complexity result works. Recall that (2) is a sum over the geometric region . Using the geometric series formula, one can convert this sum over to a sum over what is basically the boundary of . This boundary has points, so this shows that has an arithmetic circuit complexity of already. But one can do better by using the Farey sequence to represent the discrete hyperbolae that bound by line segments. The sum over each line segment is basically a quadratic sum of the form for various coefficients . It seems that one can factorise this sum as a matrix product and use ideas from the Strassen fast multiplication algorithm to give this a slightly better circuit complexity than the crude bound of ; see these notes; there may also be other approaches to computing this quickly (e.g. FFT).

Where we’re still stuck right now is scaling up this single case of Goal 2 to the more general case we need. Alternatively, we need to strengthen Goal 1 by cutting down substantially the number of pairs (n,g) we need to test…

Regarding writing the prime generating function as a sum , where the and are sparse polynomials (say, terms each): I had a conversation with a friend of mine this past weekend who is an expert on real algebraic geometry, and who was in town for the FOCS conference here at Georgia Tech. He said that in the context (the are polynomials with real coefficients) this problem is a well-studied in terms of trying to generalize Descarte’s Rule of Sign. If a single polynomial has only terms, Descarte’s rule implies that it can have at most non-zero real roots, and apparently it is a studied open problem to extend this to a sum of products of two sparse polynomials like we have (but in ). Perhaps there are some techniques that algebraic geometers have developed that would be useful in bounding the number of roots of our analogous polynomials in , or at least good conjectures. I didn’t get the chance to ask him what is known on this problem, but I will soon, and report back if I discover anything on it…

Incidentally, *he* initiated the discussion of this problem — not me — as it pertained to one of the FOCS talks on arithmetic circuit complexity.

It seems that the result on Descartes Rule uses special properties of the reals, and probably won’t extend to the complex (or finite field) setting. Here is the problem I asked my friend:

—-

Problem. Suppose that are all polynomials
in having terms each. Let be an irreducible polynomial,
such that the order of is at least , say. Let

Show that can’t all be in .

—-

And here was his response:

One remark about the problem. The fact that there exists any bound at all in terms of m and k in the real case has to do with the fact that we are bounding the number of real roots. Of course, no such bounds exist for complex roots — this makes me suspect that standard tools of algebraic geometry are probably not very useful in this context.

An exponential bound (in m as well as k) in the real case follows from Khovansky’s theory Pfaffian functions (you might want to look at the book “Fewnomials” by Khovansky).
But I do not think it can have applications in the finite field case where an exponential bound is probably obvious.

I’ve discussed this problem briefly with Noam Elkies (on the train) and Hendrik Lenstra. Basically, if I understood correctly, Elkies thinks that the sort of combinatorial argument I gave for evaluating \sum_{n<=N} tau(n) quickly is essentially familiar to some experts (especially Lenstra), but Lenstra isn't sure that it isn't new as such.

—

This project seems to be dead now, or at least in a coma. What shall we do?

Hmm, good question. The project has certainly made definite progress, by identifying the right question (namely, breaking the square root barrier) and identifying a promising approach (to determine whether pi(b)-pi(a) is non-zero). And we are able to compute the mod 2 residue of this quantity pi(b)-pi(a) below the square root barrier, thanks to your observation and Ernie’s manipulations, and it is tempting to push this F_2 calculation up to F_2[x], but at that point we seem to require a miraculous identity which we do not currently possess.

One possibility is to pass the torch by writing up the parity calculation and some of its variants (as well as some of the counterexamples and other auxiliary results achieved along the way), and speculate on a future strategy. This of course is less satisfying than a full solution, but this is the nature of the game, of course…

Harald, sorry but I don’t check the polymath blog all that often (about once every week or two now). I think the problem of quickly evaluating sum of tau(n) is probably _not that_ new, in the sense that it is the -type of thing- known to experts… but I’m always hearing that from people about this or that idea I tell them, and then at the end of the day, it turns out to really be new… so, I would be skeptical of what Elkies says. In any case, that is only _one part_ of our overall algorithms for locating primes quickly — the totality of all our ideas are certainly new, and should probably be written up
Certainly, our ideas applied to the F_2[x] case (quickly evaluate the generating function) are fairly complex, and should be written up, even if we don’t produce a fast algorithm to find primes (I, however, am very bad at writing up ideas — it takes me _forever_ to write things up, and even then they are not easy for people to understand me. If we decide to write up the ideas, I would prefer not to be the person doing the actual writing… I will, however, help out by reading the draft, etc.)

…

I am still hopeful that we can make progress on the problem, and I have delayed working on it to focus on other things (principally writing up papers with Olof Sisask). I plan to work on it with some REU students this summer — actually maybe starting next week.

As I told you in an email, one extension of the ideas we have so far is to go to matrix rings, instead of F_2[x]: Basically, fix an n x n matrix A with entries in F_2[x], and then compute the prime generating function f at A — i.e. f(A) (mod 2, g(x)), for some low-degree g. Whereas it may take lots of evaluations in order to guarantee non-vanishing of f(x^j) (mod 2, g(x)), it may not take all that many when we use A — i.e. might only need f(A^j) (mod 2, g(x)) for a small number of j. I suppose one could diagonalize A (or put it into Jordan form) and convert the problem to polynomials, but perhaps if A has some special symmetry we can speed up the computations somewhat. That is one of the ideas I haven’t mentioned on the blog yet that I would like to explore.

Might there be some other structures we could use, besides matrix rings, where we can be guaranteed a huge speedup?

These are interesting ideas, and would improve the “Goal 2” side of things.

In my opinion, though, the bigger stumbling block right now is “Goal 1”, which I don’t see how to make good progress on. A good toy problem is this: suppose we have a polynomial f of degree (say), and we want to know whether f mod 2 is non-zero or not. Let’s suppose that f has fairly small circuit complexity, e.g. (to be very optimistic). This allows us to evaluate or reasonably quickly for any fixed or of low degree (e.g. degree at most ). But I don’t see how to block the possibility that f is non-vanishing, but just happens to be divisible by all the g’s (and all the minimal polynomials of A’s) that we happen to test against, unless we use more than time or memory.

One amusing possibility here is to use P=BPP as a hypothesis. We figured out several months ago that P=BPP and a primality oracle were not sufficient, by themselves, to solve the problem; but P=BPP does allow for quick polynomial identity testing, which is basically the situation we’re in now…

Ah, my last comment was rubbish: we have a BPP algorithm to decide whether an interval contains a prime or not that runs in time , but to convert that algorithm into a P algorithm may well push one back over the square root barrier again.

First, let me say I don’t have time to comment much right now… maybe in a few days. But about Goal 1: I think if one could show that f(x^j) (mod 2, g(x)) doesn’t vanish for _some_ j up to n^(0.51), then one can produce a k x k matrix A so that some f(A^j) doesn’t vanish where j < n^(0.51)/k. So, you can get a reduction by a factor of k, but at the expense of having to work with matrices, instead of polynomials. Maybe something will come of that.

And about circuit complexity: The particular circuits we use aren't just of “low complexity'', but they are also of “low depth''. That might make a huge difference. As I have stated in comment 2. above, there might be a way to represent our prime generating function efficiently as a sum of products of sparse polynomials. If so, then maybe there are some algebraic-geometric tricks that can be used to get a handle on the non-vanishing (as in Saugata Basu's comments about Pfaffians).

I think you would be everybody a great service by writing up a quick, clear explanation of what you have (or don’t have) on F_2[x]. Let’s leave matrix rings for later. The details can then be written up by other people (= us), provided that we can bug you.

We now know how to compute the parity of in time . We would be done (by binary search) if we could quickly find an interval that contain an odd number of primes. Of course, this seems difficult.

It seems, although I haven’t attempted to work this out, that we should be able to run a twisted version of the above algorithm to compute $\pi(x,a,q)$ also in time around (with some reasonable dependence on $q$.) If this works, it then suffices to find some arithmetic progression with small modulus (say ) such that its intersection with the interval $[x,2x]$ contains an odd number of primes.

It seems that this problem might be amenable to sieve theory. Specifically, it should suffice to show something like:

.

Now I'm not sure how to go about dealing with the sum on the left. One idea is to expand out the square and try to rewrite the terms involving using twisted divisor sum (as used in the algorithm above) and then hope that finite Fourier analysis and the large sieve could be used.

The sieve inequality I suggested above is nonsense since we should expect the summand on the left to be 1 or 0 about half the time. Although, it may still be useful to try to show that some AP with small modulus has an odd number of primes.

Well, Ernie’s showed that the prime counting polynomial can be computed in subquadratic time if the gap between and is say at most and g has degree at most . In particular, setting we get the residue counting functions as coefficients.

Unfortunately, probabilistic heuristics suggest that it is indeed possible to have a dense subset of (say) which has an even number of elements in every residue class with , since a random set will satisfy each of the conditions with probability about 1/2, and there are possibilities. Of course, the primes themselves only occupy an extremely small portion of the configuration space, and heuristically the above scenario should not actually occur for the prime counting function, but I have no idea how to formally prove this.

I have found 3 algorithms which determine primes without knowledge of previous
primes. Try these with an efficient program with which you are comfortable. I
use Fortran , a 1990 compiler, and run from DOS(the command promt). Very fast.

Things seem to have ground to a halt. I do think that what we’ve got is interesting and deserves to be recorded, though; it should all be made into a short paper. Given that it will presumably be a collective work, wouldn’t it make sense for a third person (with the help of fourth or fifth persons…) to take care of some of the writing and the final editing?

I do sense Ernie has several interesting things to say that aren’t entirely clear to me yet, though. Anything cleanly stated coming from that direction would be deeply appreciated.

I think we could have an appendix doing Odlyzko’s method to localise pi(x) to accuracy O(x^{0.501}) in a bit more detail, as the references are not so well known. I was thinking of starting with the more elementary discussion of computing the parity of pi(b)-pi(a), and then moving to the more general discussion of the circuit complexity of sum_{a < p < b} t^p mod 2; strictly speaking the latter subsumes the former but I think for pedagogical reasons it would be good to discuss the former first (and this is how we found this approach historically).

As you know, I've got a number of other writing obligations to deal with in the near future, but I might be able to get a quick skeleton of such a paper in the near future. I was thinking to use Subversion to manage the task of editing the paper collectively; the previous approach of putting the raw LaTeX files on the wiki for Polymath1 was very clunky, and my experience so far with Subversion has been quite positive. It does require a small amount of software setup on each contributor's end, though.

OK, I started writing an outline of a possible paper. Right now it has an introduction and several of the easier observations, and begins to touch the parity of pi(x) stuff, but I didn’t write anything on the more recent stuff on the prime polynomial mod 2, g. The LaTeX files can be found at

If any of you are interested in working on the paper, if you can get an (free) xp-dev account and email me then I can add you to the list of editors on the project (though you’ll need to download subversion in order to check out a local copy of the paper and edit it on your own computer, see

I have not had the chance to meet with my REU students yet to discuss polymath4. That should happen this week (one of my students was away in Hungary, so we agreed not to meet until June). I did type up a short note explaining in a little more detail how the polynomial approach works; unfortunately, I cannot put it on my website just now, as my password expired (I need to go in to the dept. and change it from my office — I am away from my office right now). Too bad wordpress doesn’t allow file attachments. Let me instead try to write it out here… perhaps you can cut-and-paste-and-latex it:

\documentclass[12pt]{article}
\usepackage{amssymb}

\newcommand{\F}{{\mathbb F}}
\newcommand{\eps}{\varepsilon}

\title{The generating function of primes mod 2}

\begin{document}

\maketitle

\section{Introduction}

Fix a polynomial $f(x) \in \F_2[x]$ of degree $d$. We wish to compute
$$
\sum_{p \leq N} x^p \pmod{2,f(x)}
$$
quickly. We will explain how to do this (actually, a related problem — we confine to short intervals)
using at most $N^{1/2-\eps}$ or so bit operations.
\bigskip

Using the obvious generalization of our work for computing the parity of $\pi(x)$, it suffices to
show that we can compute
$$
\sum_{n \leq N} \tau(n) x^n \pmod{2,f(x)}
$$
in time $N^{1/2-\delta}$, for some $\delta > 0$. The larger $\delta > 0$ is in our algorithm, the larger
$\eps > 0$ will be.
\bigskip

Now what’s the idea? Well, let’s first think about the idea for the parity of $\pi(x)$: Recall that
what we essentially had to do was compute
\begin{equation} \label{squareroot_sum}
\sum_{n \leq \sqrt{N}} \lfloor N/n \rfloor
\end{equation}
substantially faster than the trivial algorithm, which takes time $N^{1/2 + o(1)}$. The key observation
was that we can compute the sum of fractional parts
$$
\sum_{x \leq n \leq x+q} \{N/x \},
$$
to within an error of $1/2$, for certain $x$ and $q$, very quickly — essentially time $O(1)$, which is faster by a factor of $q$
over the trivial algorithm. What allows us to do this is the fact that $N/n$ can be “linearized”, in the sense that
$$
|\{ N/n\} – \{N/x – at/q\}|\ <\ 1/2q,
$$
where $n = x+t$, and where $N/x^2 \sim a/q$.

So really all we need to compute is
$$
\sum_{x \leq n \leq x+q} \{N/x – at/q\}.
$$
(And, we need to fuss over certain exceptional cases.) And this is easily handled.

The analogue of the sum (\ref{squareroot_sum}) in the polynomial context is
\begin{equation} \label{insteadof}
\sum_{d \leq \sqrt{N}} \sum_{m \leq N/d} x^{dm}\ \pmod{2,f(x)}.
\end{equation}
Now of course we can use the geometric series formula (or other identities) to compute this in time
$N^{1/2+o(1)}$, so as in non-polynomial case that is the bound to beat.

Of course evaluating {\it that} sum quickly would be overkill as far as locating primes quickly.
Remember that upon using Odlyzko's algorithm, all we {\it really} need to be able to do is
to locate a prime quickly inside an interval $[N – N^{0.51}, N]$, since we can always localize
to some interval like that containing primes, using only $N^{0.49}$ operations. The sort of sum
we would need to evaluate in order to compute this “short interval'' generating function is
\begin{equation} \label{dN}
\sum_{d \leq \sqrt{N}} \sum_{(N – N^{0.51})/d \leq m \leq N/d} x^{dm} \pmod{2,f(x)},
\end{equation}
since it's not hard to imagine that computing sums such as this can be used to compute
$$
\sum_{N-N^{0.51} < n \leq N} \tau(n) x^n \pmod{2,f(x)}
$$
efficiently, which can be used to compute
$$
\sum_{N-N^{0.51} < p \leq N \atop p\ {\rm prime}} x^p \pmod{2,f(x)}
$$
efficiently.

And as a bonus, it turns out that upon confining ourselves to such short intervals (width $N^{0.51}$) we can beat
the trivial algorithm!
\bigskip

But now how do we do this — how do we beat the trivial bound of $N^{1/2+o(1)}$ for computing (\ref{dN})
efficiently (using the geometric series formula)? Well, the first thing to do is to split off the small $d$'s from the rest; that is,
we just compute
$$
\sum_{d \leq N^{1/2-\delta}} \sum_{(N-N^{0.51})/d \leq N/d} x^{dm} \pmod{2,f(x)}
$$
using the geometric series formula. So far, we have only consumed $N^{1/2-\delta+o(1)}$ operations
(OK, we lost a $N^{o(1)}$ — not important… we can just change $\delta$ to compensate). What remains, then, is
\begin{equation} \label{dm51}
\sum_{N^{1/2-\delta} < d \leq N^{1/2}} \sum_{(N-N^{0.51})/d \leq N/d} x^{dm} \pmod{2,f(x)}.
\end{equation}

Now of course we don't have a function like $\lfloor N/n \rfloor$ to play with that we can linearize. But we {\it can}
linearize {\it something} here: The first thing to note is that even if we just added every term together, and didn't
use the geometric series formula, we would get an upper bound of
$$
N^{1/2+o(1)} \cdot (N^{0.51}/N^{1/2-\delta})\ =\ N^{0.51+\delta+o(1)}
$$
for the running time. So, all we have to do is to improve this by a factor $N^{0.1 +\delta+o(1)}$, and we are in business.

Now we need an observation: Notice that if
$$
m/d\ =\ a/q + O(1/q^2),
$$
then
$$
|dm – (d-tq)(m+ta)|\ \ll\ t(d/q) + t^2 aq,
$$
which is quite a bit smaller than $dm$, provided that $q$ is much smaller than $d$, and provided that $t$ isn't
“too big''. So, if $dm$ were not too near the endpoints of the interval $[N-N^{0.51}, N]$, then we would expect that
for “$t$ not too big'', $(d-tq)(m+ta)$ is also in that interval.

What this allows us to do is to take the sum in (\ref{dm51}), and decompose it into a bunch of sums that look like
\begin{equation} \label{t0t1}
\sum_{t_0 \leq t \leq t_1} x^{(d-tq)(m+ta)} \pmod{2,f(x)}.
\end{equation}
Okay…. but how does this help? Well, that's where another trick comes in: It turns out that there is a way to convert
the problem of evaluating sums such as this one into a polynomial interpolation problem, and then one can apply
Strassen's algorithm. Once the dust has settled, one arrives at an algorithm to evaluate (\ref{t0t1}) in time at
most $(t_1 – t_0)^{0.9 + o(1)}$ — so, there is a saving by a factor $(t_1 – t_0)^{0.1}$, which is all we need.

What about this polynomial interpolation algorithm? Well, you can find it by going to the following note:

The vast majority of what makes my algorithm “technical and complex'' is that there are lots of little cases to
consider. e.g. What happens if $dm$ really is “near the endpoints''… how do we show that can't happen too often
to hurt us?

I just had another thought on the “polynomial approach” to the problem: Instead of computing

I think it might be possible to ALSO give a quick-running algorithm for

(And then also replace polynomials rings with matrix rings, or other sorts of rings.)

The idea is that the “linearization steps'' in the algorithm for handling (1) should also apply to (2), though I have not checked this carefully yet — the “linearization'' is basically just Weyl-differencing, so it should work. In fact, perhaps one can replace the here with ANY BOUNDED DEGREE INTEGER POLYNOMIAL. Why would that be useful? Well, maybe it will help with Goal 1. Certainly, it would give a new way to approach it, because now we not only get to try to locate and such that doesn't vanish mod , but we also get to CHOOSE the polynomial in the exponent.

Perhaps one can go even further here, and replace polynomials in the exponent with sums of exponential functions like , say (I forget whether Weyl-differencing works with exponentials like that. I know sum-product estimates can be used to replace Weyl differencing in such a context, so maybe they can also be used here somehow…)

Ok, I sense nobody is seriously working on polynomath4 anymore… so I will save this for my REU students…

so you can _download_ the files at any time whenever you have internet access, but to upload anything you either need to install the Subversion software, or email me with any modified files etc. Either way should work fine, though the former way would of course be more direct.

We never got around to figuring out whether the method in Vinogradov’s exercises is original to Vinogradov, or whether it appeared before somewhere. (Vinogradov never gives references in his textbook, not even to his own work.) Has anybody got some sort of sense of what is the case here?

I did plot a graph for prime number against whole number on y axis. The graph was initially exponential and had became bit linear to the X-axis more and more as we had moved away from origin and parallel to X-axis.
There fore i am sure one point will cone after which we can’t come up with any prime number and that point would be the very intresting as well because at that point we can understand the spliting of a digit into two.

I have found a similar question that might help a bit? Let K be given and S the set of polynomials with positive coefficients. Find a polynomial of degree k which is irreducible in S adjoin [x] (which is fairly simplistic because you only need to show is that the coefficients add up to a prime number strictly greater than K and all coefficients must be 1 or greater). I don’t know if my proof is original but it certainly works. Suppose by way of contradiction, f(x) has degree K and all coefficients are 1 or greater where p is prime and f(1) = p > K. Suppose f(x) = g(x)h(x) where both g(x) and h(x) have positive coefficients. Then f(1) = g(1)h(1). But this is impossible unless [g(1) = 1 and h(1) = p] or [h(1) = 1 and g(1) = p]. Since the sum of coefficients of h(1) = 1 or p, we will assume not p and prove h(1) is invalid. Clearly if h(1) = 1, h(x) = x^m And we could divide through to get a new f(x) to which we repeat this process of dividing by h(x) until h(x) is 1 and f(x) is irreducible.

(So the easy way to come up with a polynomial is to have x^n + bx^(n-1) + 2x^(n-2) + 2^(n-3) … +2 where b is even and 1 + 2*(n-2) + b is prime and so f(1) = a prime and f(x) is irreducible under Eisenstein’s Criterion).

Now suppose we have for each K at least one corresponding f(x). How do we know that for some constant m f(m) is prime for some not-so-general and very-integery m AND m does not change for each f(x)? Find the least prime number, q, which is greater than any coefficients for any of the f(x) AND q must also be greater than K. The coefficients of the f(x) when put together side by side should form a number base q that is at least pseudoprime.

To summarize this problem has already been solved in the S adjoin x world if by prime we mean irreducible. For any K, f(x) = x^K + 3 works (with Eisenstein’s). I was hoping something really cool would pop out of the polynomials.

I apologize as this response was a bit fuzzy (as my brain was not feeling perfect). I have not checked what kind of numbers one would want to plug in for f(x) = x^K + p to spit out numeric primes.

Just thought I’d let you know that I’ve proven Andrica’s Conjecture by re-examining the Sieve of Eratosthenes:http://www.ugcs.caltech.edu/~kel/MPP/AndricaConjectureTrue.pdf
The proof shows that, at the n-th step of the sieve, the largest gap generated is at most $2 p_{n-1}$, from which Andrica follows. I call the state of elimination at the n-th step $\kappa_n$.

So, right off the bat, you can find a prime in $N^{1/2}$, even without the Riemann Hypothesis. (Note that this isn’t an asymptotic result, like $N^{0.525}$; it holds for all primes.)

However, I believe we can do a better search in practice. A naive generation of $\kappa_n$ up to $N$ requires $O(log N)$ computation and $O(N)$ storage. At that point, the density of primes is around
$M_n = \Pi_{i=1}^{n} \frac{p_i -1}{p_i} ~ \frac{1}{e^\gamma \log{p_n}}$
But a more sophisticated search would pre-calculate where in $\kappa_n$ $N$ lay and only keep around the requisite intervals, namely those that lie around a Biggest Resolution of $p_B = p_n$. Check out Theorems 2.8 and 2.9 for more details.

Btw, I’m firmly convinced Cramer’s Conjecture is true. I have developed a conditional proof that shows if Cramer’s Conjecture were true, then all the constellation infinity conjectures must be true simultaneously. Were Cramer true, then primes are packed incredibly tight and with much more regularity than we can currently show. The side effect of the conditional proof is that we could not only find _a_ prime after $N$ in log time, we could find the _exact next prime_ in log time.

If you are referring to the algorithm in http://www.math.sunysb.edu/~moira/mat331-spr10/papers/1995%20RibenboimSelling%20Primes.pdf , the problem is that one needs to find (for a given prime p), an integer k for which 2kp+1 is prime. Such integers should exist in relative abundance, but there is no known rapid deterministic way of actually getting one’s hands on such a k other than by trying different k one at a time. (The section on “Feasibility of the algorithm” discusses this point.)

It seems (naively perhaps) that our parity result For the task of finding the parity of the number of primes in an interval gets quite close to the task
of finding a prime larger than N with running-time . The paper proposed a strategy of replacing “parity” by counting modulo other primes but
it is also possible that one can use the parity result on its own. Once you find a single interval with an odd number of primes you can divide and conquer. I am not sure how hard it is to find a single interval with an odd number of primes. Here are a few related questions:

(1) Given n, what is the smallest t, such that for some one of the intervals [sn,(s+1)n] provably contains an odd number of primes?

(2) For the following sequences a_n is it provable that [a_n, 2a_n] contains an odd number of primes 2.1) infinitely many times, 2.2) half the times

a) an arithmetic progression

b)

c)

d)

So I am not sure if it is hopeless to demonstrate that there are infinitely many n’s so that there are odd number of n-digit primes

A sort of vaguely related question is if the variant of the zeta function where is the kth prime was considered.