E010: Even perfect numbers from Mersenne primes¶
Tags: number-theory, quantitative-exploration, visualization
See: Valid Tags.
Highlights¶
Generate even perfect numbers via the Euclid–Euler theorem.
Connect Mersenne prime exponents \(p\) to perfect numbers \(N = 2^{p-1}(2^p-1)\).
Visualize growth and verify the defining property \(\sigma(N) = 2N\) for sampled cases.
Goal¶
Make the Mersenne \(\leftrightarrow\) perfect-number connection computationally explicit:
If \(M_p = 2^p - 1\) is prime, then:
is an even perfect number.
Background (quick refresher)¶
Research question¶
Across the Mersenne prime exponents discovered within your scan bounds:
how fast do the corresponding even perfect numbers grow?
can we verify perfectness (\(\sigma(N)=2N\)) efficiently for these cases?
Why this qualifies as a mathematical experiment¶
Finite procedure: find a set of Mersenne primes within a finite bound and generate perfect numbers.
Observable(s): size metrics (digits), and validation checks of \(\sigma(N)=2N\).
Parameter space: vary the exponent bound and validation depth.
Outcome: concrete examples + growth plots that support intuition.
Reproducibility: exponents tested and successes recorded in artifacts.
Experiment design¶
Computation¶
Obtain a list of Mersenne prime exponents \(p\) from a scan (or a fixed list for small \(p\)).
For each \(p\), compute \(N_p = 2^{p-1}(2^p-1)\).
Verify perfectness for these cases:
\[ \sigma(N_p) = 2N_p. \]
For modest \(p\), exact computation is feasible; for larger \(p\), report size metrics and skip expensive checks.
Outputs¶
table: \(p\), \(M_p\) size, \(N_p\) size, and validation status
plot: \(p\) vs. digits of \(N_p\)
optional: prime-factor structure display for small cases
How to run¶
make run EXP=e010
or:
uv run python -m mathxlab.experiments.e010
Notes / pitfalls¶
Don’t attempt divisor-sum sieves for huge \(N_p\); validation must be bounded and explicit.
Clearly separate “constructed from theorem” (conditional on \(M_p\) being prime) from “validated by computation”.
Extensions¶
Cross-link to E002 outputs for perfect numbers and compare growth on the same axes.
Explore which parts of the perfectness check can be done symbolically using known factorization.
Published run snapshot¶
If this experiment is included in the docs gallery, include the published snapshot (report + params).
Reproduce:
make run EXP=e010
Parameters¶
p_max:
20000max_tests:
800
Mersenne prime exponents found¶
2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607, 1279, 2203, 2281, 3217, 4253, 4423
Derived even perfect numbers¶
p |
digits(N) |
|---|---|
2 |
1 |
3 |
2 |
5 |
3 |
7 |
4 |
13 |
8 |
17 |
10 |
19 |
12 |
31 |
19 |
61 |
37 |
89 |
54 |
107 |
65 |
127 |
77 |
521 |
314 |
607 |
366 |
1279 |
770 |
2203 |
1327 |
2281 |
1373 |
3217 |
1937 |
4253 |
2561 |
4423 |
2663 |
Notes¶
N = 2^(p-1)·(2^p-1) is perfect iff M_p is prime (Euclid–Euler).
For large p, we avoid constructing N explicitly and report its size (digits).
params.json (snapshot)
{
"max_tests": 800,
"p_max": 20000
}
References¶
See References.