Skip to content

Commit d0aeafe

Browse files
committed
Initial commit
0 parents  commit d0aeafe

File tree

64 files changed

+9768
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+9768
-0
lines changed

.gitignore

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
share/python-wheels/
24+
*.egg-info/
25+
.installed.cfg
26+
*.egg
27+
MANIFEST
28+
29+
# PyInstaller
30+
# Usually these files are written by a python script from a template
31+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32+
*.manifest
33+
*.spec
34+
35+
# Installer logs
36+
pip-log.txt
37+
pip-delete-this-directory.txt
38+
39+
# Unit test / coverage reports
40+
htmlcov/
41+
.tox/
42+
.nox/
43+
.coverage
44+
.coverage.*
45+
.cache
46+
nosetests.xml
47+
coverage.xml
48+
*.cover
49+
*.py,cover
50+
.hypothesis/
51+
.pytest_cache/
52+
cover/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
.pybuilder/
76+
target/
77+
78+
# Jupyter Notebook
79+
.ipynb_checkpoints
80+
81+
# IPython
82+
profile_default/
83+
ipython_config.py
84+
85+
# pyenv
86+
# For a library or package, you might want to ignore these files since the code is
87+
# intended to run in multiple environments; otherwise, check them in:
88+
# .python-version
89+
90+
# pipenv
91+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
93+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
94+
# install all needed dependencies.
95+
#Pipfile.lock
96+
97+
# UV
98+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99+
# This is especially recommended for binary packages to ensure reproducibility, and is more
100+
# commonly ignored for libraries.
101+
#uv.lock
102+
103+
# poetry
104+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105+
# This is especially recommended for binary packages to ensure reproducibility, and is more
106+
# commonly ignored for libraries.
107+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108+
#poetry.lock
109+
110+
# pdm
111+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112+
#pdm.lock
113+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114+
# in version control.
115+
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116+
.pdm.toml
117+
.pdm-python
118+
.pdm-build/
119+
120+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121+
__pypackages__/
122+
123+
# Celery stuff
124+
celerybeat-schedule
125+
celerybeat.pid
126+
127+
# SageMath parsed files
128+
*.sage.py
129+
130+
# Environments
131+
.env
132+
.venv
133+
env/
134+
venv/
135+
ENV/
136+
env.bak/
137+
venv.bak/
138+
139+
# Spyder project settings
140+
.spyderproject
141+
.spyproject
142+
143+
# Rope project settings
144+
.ropeproject
145+
146+
# mkdocs documentation
147+
/site
148+
149+
# mypy
150+
.mypy_cache/
151+
.dmypy.json
152+
dmypy.json
153+
154+
# Pyre type checker
155+
.pyre/
156+
157+
# pytype static type analyzer
158+
.pytype/
159+
160+
# Cython debug symbols
161+
cython_debug/
162+
163+
# PyCharm
164+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166+
# and can be added to the global gitignore or merged into this file. For a more nuclear
167+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
168+
#.idea/
169+
170+
# Ruff stuff:
171+
.ruff_cache/
172+
173+
# PyPI configuration file
174+
.pypirc

README.md

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
# Unified Framework for the Three-Body Problem
2+
3+
4+
[![Video](figures/animations/video_preview.png)](figures/animations/three_body_scenarios_comparative.mp4)
5+
6+
This repository implements the unified theoretical framework that establishes rigorous isomorphisms between three distinct mathematical approaches to the three-body problem: Differential Galois Theory, Painlevé Analysis, and Quaternionic Regularization.
7+
8+
## Overview
9+
10+
The three-body problem—describing the motion of three bodies under mutual gravitational attraction—remains one of the fundamental challenges in mathematical physics. This implementation connects three mathematical approaches through precise isomorphisms:
11+
12+
1. **Differential Galois Theory (DGT)**: An algebraic approach examining the structure of differential field extensions generated by solutions to variational equations.
13+
2. **Painlevé Analysis (PA)**: A complex-analytic approach examining the singularity structure of solutions.
14+
3. **Quaternionic Regularization (QR)**: A geometric approach that extends the domain of solutions from complex to quaternionic space.
15+
16+
The key insight of this work is that these three perspectives are connected through precise mathematical isomorphisms, providing a powerful unified framework for analyzing the three-body problem.
17+
18+
## Installation
19+
20+
### Prerequisites
21+
22+
The implementation requires Python 3.10+ and the following dependencies:
23+
24+
```bash
25+
pip install numpy scipy sympy matplotlib pandas
26+
```
27+
28+
### Clone the Repository
29+
30+
```bash
31+
git clone https://github.com/username/three-body-isomorphisms.git
32+
cd three-body-isomorphisms
33+
```
34+
35+
## Project Structure
36+
37+
The implementation is divided into several modules:
38+
39+
- `quaternion.py`: Implementation of quaternion algebra
40+
- `three_body_problem.py`: Implementation of the three-body problem, homothetic orbits, and Lagrangian solutions
41+
- `differential_galois.py`: Implementation of Differential Galois Theory analysis
42+
- `painleve_analysis.py`: Implementation of Painlevé Analysis
43+
- `quaternionic_regularization.py`: Implementation of Quaternionic Regularization methods
44+
- `isomorphism_verification.py`: Implementation of isomorphism verification
45+
- `kam_theory.py`: Implementation of KAM Theory integration
46+
- `visualization.py`: Implementation of visualization tools
47+
- `benchmark.py`: Implementation of benchmarking infrastructure
48+
49+
## Running Tests
50+
51+
Each module includes comprehensive tests that can be run individually to verify its functionality:
52+
53+
```bash
54+
# Run tests for the quaternion module
55+
python quaternion.py
56+
57+
# Run tests for the three-body problem module
58+
python three_body_problem.py
59+
60+
# Run tests for the differential Galois theory module
61+
python differential_galois.py
62+
63+
# Run tests for the Painlevé analysis module
64+
python painleve_analysis.py
65+
66+
# Run tests for the quaternionic regularization module
67+
python quaternionic_regularization.py
68+
69+
# Run tests for the isomorphism verification module
70+
python isomorphism_verification.py
71+
72+
# Run tests for the KAM theory integration module
73+
python kam_theory.py
74+
75+
# Run tests for the visualization module
76+
python visualization.py
77+
```
78+
79+
You can also run a quick benchmark test to ensure the entire framework is functioning correctly:
80+
81+
```bash
82+
python benchmark.py --test
83+
```
84+
85+
## Running Benchmarks
86+
87+
### Full Benchmark
88+
89+
To generate all results, tables, and visualizations described in the paper:
90+
91+
```bash
92+
python benchmark.py --output-dir results
93+
```
94+
95+
This command will:
96+
1. Verify isomorphisms for homothetic orbits
97+
2. Verify isomorphisms for Lagrangian solutions
98+
3. Run benchmarks for both types of orbits
99+
4. Analyze isomorphism verification performance
100+
5. Generate KAM theory integration results
101+
6. Create visualizations and tables
102+
103+
The results will be saved in the specified output directory (default: `results/`).
104+
105+
### Verification Only
106+
107+
To run only the verification benchmarks (faster):
108+
109+
```bash
110+
python benchmark.py --verify-only --output-dir results
111+
```
112+
113+
## Examining Results
114+
115+
The benchmark process generates several types of outputs:
116+
117+
### CSV Files
118+
- `homothetic_isomorphisms.csv`: Isomorphism verification results for homothetic orbits
119+
- `lagrangian_isomorphisms.csv`: Isomorphism verification results for Lagrangian solutions
120+
- `homothetic_performance.csv`: Performance benchmarks for homothetic orbits
121+
- `lagrangian_performance.csv`: Performance benchmarks for Lagrangian solutions
122+
- `verification_performance.csv`: Performance metrics for isomorphism verification
123+
- `isomorphism_kam_correspondence.csv`: Correspondence between isomorphisms and KAM theory
124+
- `kam_measure.csv`: KAM measure values for different mass parameters
125+
126+
### LaTeX Tables
127+
- `table_homothetic_isomorphisms.tex`: Table of isomorphic structures in homothetic orbits
128+
- `table_lagrangian_isomorphisms.tex`: Table of quaternionic regularization and isomorphic structures for Lagrangian solutions
129+
- `table_verification_performance.tex`: Performance of isomorphism verification for near-exceptional case
130+
- `table_isomorphism_kam_correspondence.tex`: Correspondence between isomorphism structures and KAM theory
131+
132+
### Visualizations
133+
- `homothetic_isomorphisms.png`: Parameter space of homothetic orbit isomorphisms
134+
- `lagrangian_isomorphisms.png`: Parameter space of Lagrangian solution isomorphisms
135+
- `homothetic_trajectory_*.png`: Trajectories for homothetic orbits
136+
- `lagrangian_trajectory_*.png`: Trajectories for Lagrangian solutions
137+
- `integration_diagram_*.png`: Visual representations of isomorphisms
138+
- `branching_structure_*.png`: Branching structures in the complex plane
139+
- `quaternionic_manifold_*.png`: Quaternionic branch manifolds
140+
- `kam_measure.png`: KAM measure vs. mass parameter
141+
142+
## Key Mass Parameters
143+
144+
The implementation pays special attention to three exceptional mass ratios that yield partially integrable systems:
145+
146+
1. σ = 1/3
147+
2. σ = 2³/3³
148+
3. σ = 2/3²
149+
150+
These exceptional cases exhibit specific isomorphism structures that are verified and analyzed throughout the implementation.
151+
152+
## Interpreting the Results
153+
154+
The implementation verifies the following key claims:
155+
156+
1. **Three-Way Isomorphism**: The differential Galois group structure, Painlevé branching behavior, and quaternionic monodromy are isomorphic mathematical structures.
157+
158+
2. **Unified Integrability Criterion**: The abelian nature of the differential Galois group, the Painlevé property, and trivial quaternionic monodromy are equivalent conditions for integrability.
159+
160+
3. **Exceptional Mass Ratios**: The exceptional mass ratios (σ = 1/3, σ = 2³/3³, σ = 2/3²) exhibit specific isomorphism structures that correspond to partial integrability.
161+
162+
4. **KAM Theory Integration**: The isomorphism structures are reflected in the measure of phase space occupied by KAM tori, with peaks at the exceptional mass ratios.

0 commit comments

Comments
 (0)