An open-source software platform for exploring, proving, and generating mathematical concepts
Project description
Eternal Math
An open-source software platform designed as a comprehensive, ever-evolving toolkit for exploring, proving, and generating mathematical concepts.
Overview
Eternal Math provides a Python-based framework for mathematical computation, theorem proving, and concept exploration. The platform combines computational tools with formal proof systems to create an integrated environment for mathematical research and education.
Features
Core Mathematical Objects
- Set Theory: Mathematical sets with standard operations (union, intersection, difference)
- Function Theory: Mathematical functions with composition and evaluation
- Number Theory: Prime numbers, GCD/LCM, factorization algorithms
Proof System
- Formal Proofs: Structured proof representation with axioms, theorems, and proof steps
- Theorem Management: Create, verify, and organize mathematical theorems
- Logical Framework: Support for direct proofs, proof by contradiction, and more
Number Theory Toolkit
- Prime Generation: Sieve of Eratosthenes for efficient prime computation
- Sequences: Fibonacci numbers, perfect numbers, Collatz sequences
- Conjectures: Goldbach conjecture verification, twin prime detection
- Advanced Tools: Euler's totient function, Chinese Remainder Theorem
Visualization & Graphics
- Function Plotting: Visualize mathematical functions with customizable ranges
- Sequence Visualization: Plot mathematical sequences with annotations
- Prime Distribution: Graphical analysis of prime number patterns
- Collatz Trajectories: Visualize the famous 3n+1 problem paths
- Comparative Analysis: Side-by-side sequence comparisons
Installation
# Clone the repository
git clone https://github.com/Vooblin/eternal-math.git
cd eternal-math
# Install dependencies
pip install -e .
Quick Start
Interactive CLI
Start the interactive command-line interface:
# After installation
eternal-math
# Or directly with Python
python -m eternal_math.cli
The CLI provides interactive access to all mathematical functions:
eternal-math> primes 30
🔍 Prime numbers up to 30:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Found 10 primes
eternal-math> fibonacci 8
🌀 First 8 Fibonacci numbers:
[0, 1, 1, 2, 3, 5, 8, 13]
Golden ratio approximation: 1.625000
eternal-math> help
📚 Eternal Math CLI Commands:
[... complete help menu ...]
Python API
from eternal_math import sieve_of_eratosthenes, fibonacci_sequence, twin_primes
# Generate prime numbers up to 50
primes = sieve_of_eratosthenes(50)
print(f"Primes: {primes}")
# Generate Fibonacci sequence
fib = fibonacci_sequence(10)
print(f"Fibonacci: {fib}")
# Find twin prime pairs
twins = twin_primes(30)
print(f"Twin primes: {twins}")
Visualization Features
Create stunning mathematical visualizations:
from eternal_math import MathVisualizer
# Initialize visualizer
viz = MathVisualizer()
# Plot mathematical functions
viz.plot_function("x**2", title="Quadratic Function")
viz.plot_function("sin(x)", x_range=(-6, 6))
# Visualize sequences
from eternal_math import fibonacci_sequence, sieve_of_eratosthenes
fib = fibonacci_sequence(15)
viz.plot_sequence([float(x) for x in fib], title="Fibonacci Numbers")
# Prime distribution analysis
primes = sieve_of_eratosthenes(100)
viz.plot_prime_distribution(primes, 100)
# Interactive CLI visualization commands
# eternal-math> plot sin(x)
# eternal-math> plotseq fibonacci 10
# eternal-math> plotprimes 50
# eternal-math> plotcollatz 3,7,15
## Examples
Run the number theory exploration example:
```bash
python examples/number_theory_exploration.py
Testing
Run the complete test suite:
# Run all tests
pytest tests/
# Run specific test modules
pytest tests/test_core.py
pytest tests/test_number_theory.py
pytest tests/test_proofs.py
pytest tests/test_cli.py
# Or run individual modules (legacy method)
python -m tests.test_core
python -m tests.test_number_theory
Project Structure
eternal-math/
├── eternal_math/ # Main package
│ ├── core.py # Core mathematical objects
│ ├── proofs.py # Proof system and logic
│ ├── number_theory.py # Number theory utilities
│ └── cli.py # Interactive command-line interface
├── tests/ # Test suite
│ ├── test_cli.py # CLI functionality tests
│ └── ... # Other test modules
├── examples/ # Usage examples
└── pyproject.toml # Project configuration
Contributing
This is an open-source project. Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
License
MIT License - see LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eternal_math-0.1.0.tar.gz.
File metadata
- Download URL: eternal_math-0.1.0.tar.gz
- Upload date:
- Size: 689.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54afb25fd0d352d3a9d7450f983f012a42a4cb2ba2aac6f7715389ab81a8031d
|
|
| MD5 |
95e34f3fad4ea002d6c64a28fb0e1ee4
|
|
| BLAKE2b-256 |
0459ea20d17e5af3f2615b297f60ba548143c7c34b58e1d08c45fd28a127fac4
|
Provenance
The following attestation bundles were made for eternal_math-0.1.0.tar.gz:
Publisher:
publish.yml on Vooblin/eternal-math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eternal_math-0.1.0.tar.gz -
Subject digest:
54afb25fd0d352d3a9d7450f983f012a42a4cb2ba2aac6f7715389ab81a8031d - Sigstore transparency entry: 425546239
- Sigstore integration time:
-
Permalink:
Vooblin/eternal-math@023e79e542e38a4d0fd192d7fcdb04fb88b7bb35 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Vooblin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@023e79e542e38a4d0fd192d7fcdb04fb88b7bb35 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eternal_math-0.1.0-py3-none-any.whl.
File metadata
- Download URL: eternal_math-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
325b48308d397917372b0fc78f615fd9ab6005039512feeb221229d8eaa4cfee
|
|
| MD5 |
c62382641b8ef03f7c5fe0d0d16abf68
|
|
| BLAKE2b-256 |
ad0fb987f8ad168cc98968725c37801c6e9e17cf5646eebbe6f333e6518305ee
|
Provenance
The following attestation bundles were made for eternal_math-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Vooblin/eternal-math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eternal_math-0.1.0-py3-none-any.whl -
Subject digest:
325b48308d397917372b0fc78f615fd9ab6005039512feeb221229d8eaa4cfee - Sigstore transparency entry: 425546252
- Sigstore integration time:
-
Permalink:
Vooblin/eternal-math@023e79e542e38a4d0fd192d7fcdb04fb88b7bb35 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Vooblin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@023e79e542e38a4d0fd192d7fcdb04fb88b7bb35 -
Trigger Event:
release
-
Statement type: