Package de.tilman_neumann.jml.primes
Class PrimeGapTest
java.lang.Object
de.tilman_neumann.jml.primes.PrimeGapTest
- All Implemented Interfaces:
SieveCallback
public class PrimeGapTest extends java.lang.Object implements SieveCallback
Find primes with relatively large prime gaps, say ratios p(i)/p(i-1) > p(k)/p(k-1) for all k > i.
Bertrand’s postulate states that there is a prime in any interval [n, 2n].
Legendre's conjecture says that there is at least one prime in any interval (n^2, (n+1)^2).
But for not too small i, the true maximum ratio p(i)/p(i-1) is much smaller than that.
The main purpose of this class is to find the following rational sequence:
Numerators are A277718 = "Bounding prime for the first k-Ramanujan prime."
Denominators are A209407 = "Primes p(i) such that p(i+1)/p(i) > p(k+1)/p(k) for all k>i"
Bounds are taken from Christian Axler, Thomas Leßmann: "An explicit upper bound for the first k-Ramanujan prime" 2018,
https://arxiv.org/pdf/1504.05485.pdf, and the proof procedure has been derived from comments by Charles Greathouse IV. in A209407.
A few results:
1. Testing all primes below 1e11 allows us to prove the first 87 sequence elements.
2. Trudgian's bound is not satisfied at a(75) ?
3. Trudgian's bound seems to be the one of most practical relevance; the transition point between Trudgian's bound
and Axler/Leßmann's bound is at approximately e^131.1687 = 9.24363...*10^56.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PrimeGapTest.StackElement
-
Constructor Summary
Constructors Constructor Description PrimeGapTest(long limit)
-
Method Summary
Modifier and Type Method Description static void
main(java.lang.String[] args)
void
processPrime(long prime)
void
run()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
PrimeGapTest
public PrimeGapTest(long limit)
-
-
Method Details
-
run
public void run() -
processPrime
public void processPrime(long prime)- Specified by:
processPrime
in interfaceSieveCallback
-
main
public static void main(java.lang.String[] args)
-