mathxlab.experiments.prime_suite¶
Prime Numbers experiment suite (E014–E046).
Quickstart¶
from mathxlab.experiments.prime_suite import run_e014, run_e015, CommonParams
Name |
Kind |
Summary |
|---|---|---|
|
class |
Shared parameters. |
|
class |
Parameters for E014. |
|
function |
E014: Primorial ± 1: “Euclid numbers are prime” fails quickly. |
|
class |
Parameters for E015. |
|
function |
E015: Wilson’s theorem is true, but the naive ‘test’ is unusable at scale. |
|
class |
Parameters for E016. |
|
function |
E016: Trial division collapses with size; MR stays fast (counterexample to ‘simple is fine’). |
|
class |
Parameters for E017. |
|
function |
E017: Full sieve memory vs segmented sieve (counterexample to ‘O(N) is fine’). |
|
class |
Parameters for E018. |
|
function |
E018: Strong pseudoprimes: too few MR bases yields false positives (counterexample). |
|
class |
Parameters for E019. |
|
function |
E019: Prime density: pi(x) vs x/log x and error curve. |
|
class |
Parameters for E020. |
|
function |
E020: li(x) is often a better approximation than x/log x (visual counterexample). |
|
class |
Parameters for E021. |
|
function |
E021: Explicit inequality sanity checks (conditions matter). |
|
class |
Parameters for E022. |
|
function |
E022: Prime race: pi(x;4,1) vs pi(x;4,3). |
|
class |
Parameters for E023. |
|
function |
E023: Distribution of primes across residue classes mod q (finite-range bias). |
|
class |
Parameters for E024. |
|
function |
E024: Ulam spiral: primes in a spiral show diagonal structure. |
|
class |
Parameters for E025. |
|
function |
E025: Prime gaps are not monotone (counterexample to naive ‘gaps always grow’). |
|
class |
Parameters for E026. |
|
function |
E026: Gap normalization: g/log p helps compare scales. |
|
class |
Parameters for E027. |
|
function |
E027: Record prime gaps vs log^2 heuristic (Cramér-style scaling). |
|
class |
Parameters for E028. |
|
function |
E028: Jumping champions: most frequent gap in sliding windows. |
|
class |
Parameters for E029. |
|
function |
E029: Twin prime counts vs simple Hardy–Littlewood-style heuristic. |
|
class |
Parameters for E030. |
|
function |
E030: Cousin and sexy primes: compare counts of prime pairs. |
|
class |
Parameters for E031. |
|
function |
E031: Prime k-tuple admissibility: mod obstructions are real counterexamples. |
|
class |
Parameters for E032. |
|
function |
E032: Count small prime constellations (triplets/quadruplets) up to N. |
|
class |
Parameters for E033. |
|
function |
E033: Small gaps exist often, but that doesn’t make them twins (data-only counterexample). |
|
class |
Parameters for E034. |
|
function |
E034: Twin prime counts vary strongly across windows (variance counterexample). |
|
class |
Parameters for E035. |
|
function |
E035: Primes in arithmetic progressions: empirical counts in reduced residues. |
|
class |
Parameters for E036. |
|
function |
E036: Small arithmetic progressions of primes (3-term and 4-term) in ranges. |
|
class |
Parameters for E037. |
|
function |
E037: Prime-free intervals exist: n!+2,…,n!+n are all composite. |
|
class |
Parameters for E038. |
|
function |
E038: Bertrand’s postulate: for n>1 there is a prime in (n, 2n). |
|
class |
Parameters for E039. |
|
function |
E039: Sophie Germain primes and safe primes (counts in range). |
|
class |
Parameters for E040. |
|
function |
E040: Palindromic primes: even-length palindromes are divisible by 11 (counterexample). |
|
class |
Parameters for E041. |
|
function |
E041: Fermat numbers: not all are prime (counterexample at F5). |
|
class |
Parameters for E042. |
|
function |
E042: Repunit primes: many k are forced composite (counterexamples). |
|
class |
Parameters for E043. |
|
function |
E043: Pollard rho runtime varies wildly (counterexample to ‘same size => same effort’). |
|
class |
Parameters for E044. |
|
function |
E044: Solovay–Strassen vs Miller–Rabin (liar rates on random composites). |
|
class |
Parameters for E045. |
|
function |
E045: Deterministic 64-bit MR: 12 bases vs small subsets (counterexample). |
|
class |
Parameters for E046. |
|
class |
Parameters for E124. |
|
function |
E124: Klauber triangle: prime patterns on a triangular array. |
|
class |
Parameters for E125. |
|
function |
E125: Sacks spiral: primes on an Archimedean spiral (one square per turn). |
|
class |
Parameters for E126. |
|
function |
E126: Hexagonal number spiral: primes on a hexagonal lattice spiral. |
Reference¶
Classes¶
- class mathxlab.experiments.prime_suite.CommonParams(seed, n_max)[source]¶
Bases:
objectShared parameters.
- Parameters:
seed – Random seed.
n_max – Upper bound for sieve-based experiments (inclusive).
- class mathxlab.experiments.prime_suite.ParamsE014(k_max)[source]¶
Bases:
objectParameters for E014.
- Parameters:
k_max – Number of primorial steps.
- class mathxlab.experiments.prime_suite.ParamsE015(n_values)[source]¶
Bases:
objectParameters for E015.
- Parameters:
n_values – Values of n to benchmark for Wilson-style factorial mod.
- class mathxlab.experiments.prime_suite.ParamsE016(bit_sizes, samples_per_size)[source]¶
Bases:
objectParameters for E016.
- Parameters:
bit_sizes – Bit sizes to benchmark.
samples_per_size – Samples per bit size.
- class mathxlab.experiments.prime_suite.ParamsE017(n_values, segment_size)[source]¶
Bases:
objectParameters for E017.
- Parameters:
n_values – N values to estimate sieve memory for.
segment_size – Segment size for segmented sieve.
- class mathxlab.experiments.prime_suite.ParamsE018(n_max)[source]¶
Bases:
objectParameters for E018.
- Parameters:
n_max – Search range for pseudoprimes.
- class mathxlab.experiments.prime_suite.ParamsE019(n_max)[source]¶
Bases:
objectParameters for E019.
- Parameters:
n_max – Max x for pi(x).
- class mathxlab.experiments.prime_suite.ParamsE020(n_max, step)[source]¶
Bases:
objectParameters for E020.
- Parameters:
n_max – Max x.
step – Step size for numerical integration.
- class mathxlab.experiments.prime_suite.ParamsE021(n_max)[source]¶
Bases:
objectParameters for E021.
- Parameters:
n_max – Upper bound.
- class mathxlab.experiments.prime_suite.ParamsE022(n_max)[source]¶
Bases:
objectParameters for E022.
- Parameters:
n_max – Upper bound.
- class mathxlab.experiments.prime_suite.ParamsE023(n_max, q)[source]¶
Bases:
objectParameters for E023.
- Parameters:
n_max – Upper bound.
q – Modulus.
- class mathxlab.experiments.prime_suite.ParamsE024(size)[source]¶
Bases:
objectParameters for E024.
- Parameters:
size – Odd grid size (size x size).
- class mathxlab.experiments.prime_suite.ParamsE025(n_max)[source]¶
Bases:
objectParameters for E025.
- Parameters:
n_max – Upper bound.
- class mathxlab.experiments.prime_suite.ParamsE026(n_max, bins)[source]¶
Bases:
objectParameters for E026.
- Parameters:
n_max – Upper bound.
bins – Histogram bins.
- class mathxlab.experiments.prime_suite.ParamsE027(n_max)[source]¶
Bases:
objectParameters for E027.
- Parameters:
n_max – Upper bound.
- class mathxlab.experiments.prime_suite.ParamsE028(n_max, window, step)[source]¶
Bases:
objectParameters for E028.
- Parameters:
n_max – Upper bound.
window – Number of consecutive gaps per window.
step – Window step.
- class mathxlab.experiments.prime_suite.ParamsE029(n_max)[source]¶
Bases:
objectParameters for E029.
- Parameters:
n_max – Upper bound.
- class mathxlab.experiments.prime_suite.ParamsE030(n_max, d_values)[source]¶
Bases:
objectParameters for E030.
- Parameters:
n_max – Upper bound.
d_values – Differences to count (e.g., 4 and 6).
- class mathxlab.experiments.prime_suite.ParamsE031(max_mod)[source]¶
Bases:
objectParameters for E031.
- Parameters:
max_mod – Check admissibility against primes up to this modulus.
- class mathxlab.experiments.prime_suite.ParamsE032(n_max)[source]¶
Bases:
objectParameters for E032.
- Parameters:
n_max – Upper bound.
- class mathxlab.experiments.prime_suite.ParamsE033(n_max, threshold)[source]¶
Bases:
objectParameters for E033.
- Parameters:
n_max – Upper bound.
threshold – Gap threshold.
- class mathxlab.experiments.prime_suite.ParamsE034(n_max, window, step)[source]¶
Bases:
objectParameters for E034.
- Parameters:
n_max – Upper bound.
window – Window length.
step – Step.
- class mathxlab.experiments.prime_suite.ParamsE035(n_max, q)[source]¶
Bases:
objectParameters for E035.
- Parameters:
n_max – Upper bound.
q – Modulus.
- class mathxlab.experiments.prime_suite.ParamsE036(n_max, max_d)[source]¶
Bases:
objectParameters for E036.
- Parameters:
n_max – Upper bound.
max_d – Max step d to search.
- class mathxlab.experiments.prime_suite.ParamsE037(n_values)[source]¶
Bases:
objectParameters for E037.
- Parameters:
n_values – Values of n to demonstrate prime-free runs of length n-1.
- class mathxlab.experiments.prime_suite.ParamsE038(n_max)[source]¶
Bases:
objectParameters for E038.
- Parameters:
n_max – Check Bertrand postulate for n up to n_max.
- class mathxlab.experiments.prime_suite.ParamsE039(n_max)[source]¶
Bases:
objectParameters for E039.
- Parameters:
n_max – Upper bound for p.
- class mathxlab.experiments.prime_suite.ParamsE040(digits_max, limit)[source]¶
Bases:
objectParameters for E040.
- Parameters:
digits_max – Max digits to scan palindromes.
limit – Stop scanning after this many palindromes.
- class mathxlab.experiments.prime_suite.ParamsE041(m_max)[source]¶
Bases:
objectParameters for E041.
- Parameters:
m_max – Max Fermat index m to test.
- class mathxlab.experiments.prime_suite.ParamsE042(k_max)[source]¶
Bases:
objectParameters for E042.
- Parameters:
k_max – Max repunit length k.
- class mathxlab.experiments.prime_suite.ParamsE043(samples, bits)[source]¶
Bases:
objectParameters for E043.
- Parameters:
samples – Number of semiprimes to factor.
bits – Bit-size for factors.
- class mathxlab.experiments.prime_suite.ParamsE044(samples, bits, bases)[source]¶
Bases:
objectParameters for E044.
- Parameters:
samples – Random odd integers to test.
bits – Bit size.
bases – Bases per test.
- class mathxlab.experiments.prime_suite.ParamsE045(samples, bits)[source]¶
Bases:
objectParameters for E045.
- Parameters:
samples – Random odd integers to test.
bits – Bit size.
- class mathxlab.experiments.prime_suite.ParamsE046(n_max, mr_bases)[source]¶
Bases:
objectParameters for E046.
- Parameters:
n_max – Range end.
mr_bases – Base set for fast MR stage.
- class mathxlab.experiments.prime_suite.ParamsE124(size)[source]¶
Bases:
objectParameters for E124.
- Parameters:
size – Grid size (odd). The triangle visualizes integers 1..size^2.
Functions¶
- mathxlab.experiments.prime_suite.run_e014(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E014: Primorial ± 1: “Euclid numbers are prime” fails quickly.
- mathxlab.experiments.prime_suite.run_e015(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E015: Wilson’s theorem is true, but the naive ‘test’ is unusable at scale.
- mathxlab.experiments.prime_suite.run_e017(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E017: Full sieve memory vs segmented sieve (counterexample to ‘O(N) is fine’).
- mathxlab.experiments.prime_suite.run_e018(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E018: Strong pseudoprimes: too few MR bases yields false positives (counterexample).
- mathxlab.experiments.prime_suite.run_e019(*, out_dir, seed, figures_dir, report_path, params_path, n_max=2000000)[source]¶
E019: Prime density: pi(x) vs x/log x and error curve.
- mathxlab.experiments.prime_suite.run_e021(*, out_dir, seed, figures_dir, report_path, params_path, n_max=2000000)[source]¶
E021: Explicit inequality sanity checks (conditions matter).
- mathxlab.experiments.prime_suite.run_e022(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E022: Prime race: pi(x;4,1) vs pi(x;4,3).
- mathxlab.experiments.prime_suite.run_e023(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E023: Distribution of primes across residue classes mod q (finite-range bias).
- mathxlab.experiments.prime_suite.run_e025(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E025: Prime gaps are not monotone (counterexample to naive ‘gaps always grow’).
- mathxlab.experiments.prime_suite.run_e026(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E026: Gap normalization: g/log p helps compare scales.
- mathxlab.experiments.prime_suite.run_e027(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E027: Record prime gaps vs log^2 heuristic (Cramér-style scaling).
- mathxlab.experiments.prime_suite.run_e029(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E029: Twin prime counts vs simple Hardy–Littlewood-style heuristic.
- mathxlab.experiments.prime_suite.run_e030(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E030: Cousin and sexy primes: compare counts of prime pairs.
- mathxlab.experiments.prime_suite.run_e031(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E031: Prime k-tuple admissibility: mod obstructions are real counterexamples.
- mathxlab.experiments.prime_suite.run_e033(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E033: Small gaps exist often, but that doesn’t make them twins (data-only counterexample).
- mathxlab.experiments.prime_suite.run_e034(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E034: Twin prime counts vary strongly across windows (variance counterexample).
- mathxlab.experiments.prime_suite.run_e035(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E035: Primes in arithmetic progressions: empirical counts in reduced residues.
- mathxlab.experiments.prime_suite.run_e037(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E037: Prime-free intervals exist: n!+2,…,n!+n are all composite.
- mathxlab.experiments.prime_suite.run_e038(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E038: Bertrand’s postulate: for n>1 there is a prime in (n, 2n).
- mathxlab.experiments.prime_suite.run_e039(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E039: Sophie Germain primes and safe primes (counts in range).
- mathxlab.experiments.prime_suite.run_e041(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E041: Fermat numbers: not all are prime (counterexample at F5).
- mathxlab.experiments.prime_suite.run_e042(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E042: Repunit primes: many k are forced composite (counterexamples).
- mathxlab.experiments.prime_suite.run_e043(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E043: Pollard rho runtime varies wildly (counterexample to ‘same size => same effort’).
- mathxlab.experiments.prime_suite.run_e045(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E045: Deterministic 64-bit MR: 12 bases vs small subsets (counterexample).
- mathxlab.experiments.prime_suite.run_e046(*, out_dir, seed, figures_dir, report_path, params_path)[source]¶
E046: A practical prime-testing pipeline (and how it can fail if tuned badly).
- mathxlab.experiments.prime_suite.run_e124(*, out_dir, seed, figures_dir, report_path, params_path, size=301)[source]¶
E124: Klauber triangle: prime patterns on a triangular array.
Notes
The Klauber triangle (1932) places row n as the consecutive integers (n-1)^2+1 .. n^2 (so each row has length 2n-1). When primes are highlighted, lines rich in primes become visible (often associated with quadratic polynomials), similar in spirit to the Ulam spiral.
This experiment is deterministic; seed is accepted for framework consistency but does not affect the output.
- mathxlab.experiments.prime_suite.run_e125(*, out_dir, seed, figures_dir, report_path, params_path, size=301)[source]¶
E125: Sacks spiral: primes on an Archimedean spiral (one square per turn).
Notes
In the Sacks spiral, integer n is placed at polar coordinates:
r = sqrt(n), θ = 2π r
so perfect squares lie on the positive x-axis (θ is a multiple of 2π). Primes are highlighted to reveal curve-like prime concentrations.
This experiment is deterministic; seed is accepted for framework consistency but does not affect the output.
- mathxlab.experiments.prime_suite.run_e126(*, out_dir, seed, figures_dir, report_path, params_path, size=301)[source]¶
E126: Hexagonal number spiral: primes on a hexagonal lattice spiral.
Notes
This is a hex-grid analogue of the Ulam spiral: integers are placed in a spiral on a hexagonal tiling and primes are highlighted.
The parameter size controls the max integer via n_max = size^2 so the prime counts are comparable to square-grid experiments.
This experiment is deterministic; seed is accepted for framework consistency but does not affect the output.