systrophe 0.14.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- systrophe-0.14.1/LICENSE +21 -0
- systrophe-0.14.1/PKG-INFO +378 -0
- systrophe-0.14.1/README.md +359 -0
- systrophe-0.14.1/pyproject.toml +24 -0
- systrophe-0.14.1/setup.cfg +4 -0
- systrophe-0.14.1/src/systrophe/__init__.py +272 -0
- systrophe-0.14.1/src/systrophe/acoustic_metric.py +203 -0
- systrophe-0.14.1/src/systrophe/adm_export.py +254 -0
- systrophe-0.14.1/src/systrophe/anomaly_inflow.py +199 -0
- systrophe-0.14.1/src/systrophe/array.py +166 -0
- systrophe-0.14.1/src/systrophe/back_reaction.py +237 -0
- systrophe-0.14.1/src/systrophe/casimir.py +171 -0
- systrophe-0.14.1/src/systrophe/casimir_throat.py +147 -0
- systrophe-0.14.1/src/systrophe/ctc.py +83 -0
- systrophe-0.14.1/src/systrophe/d_ctc.py +184 -0
- systrophe-0.14.1/src/systrophe/dinos_bridge.py +215 -0
- systrophe-0.14.1/src/systrophe/dirac.py +303 -0
- systrophe-0.14.1/src/systrophe/dirac_sea.py +107 -0
- systrophe-0.14.1/src/systrophe/dirac_spectrum.py +179 -0
- systrophe-0.14.1/src/systrophe/dsi_observables.py +261 -0
- systrophe-0.14.1/src/systrophe/energy_conditions.py +169 -0
- systrophe-0.14.1/src/systrophe/floquet.py +306 -0
- systrophe-0.14.1/src/systrophe/floquet_engineering.py +175 -0
- systrophe-0.14.1/src/systrophe/floquet_mobius.py +213 -0
- systrophe-0.14.1/src/systrophe/geodesic.py +231 -0
- systrophe-0.14.1/src/systrophe/hadamard_offtrace.py +177 -0
- systrophe-0.14.1/src/systrophe/horned_torus.py +233 -0
- systrophe-0.14.1/src/systrophe/lewis_papapetrou.py +223 -0
- systrophe-0.14.1/src/systrophe/lp_robust.py +176 -0
- systrophe-0.14.1/src/systrophe/newton_kantorovich.py +237 -0
- systrophe-0.14.1/src/systrophe/off_axis.py +353 -0
- systrophe-0.14.1/src/systrophe/pair.py +196 -0
- systrophe-0.14.1/src/systrophe/particle_creation.py +128 -0
- systrophe-0.14.1/src/systrophe/photon_orbits.py +137 -0
- systrophe-0.14.1/src/systrophe/photon_raytrace.py +141 -0
- systrophe-0.14.1/src/systrophe/point_splitting.py +259 -0
- systrophe-0.14.1/src/systrophe/qftcs_backreaction.py +124 -0
- systrophe-0.14.1/src/systrophe/quantum_diagnostics.py +199 -0
- systrophe-0.14.1/src/systrophe/sinusoid.py +132 -0
- systrophe-0.14.1/src/systrophe/spacetimes/__init__.py +29 -0
- systrophe-0.14.1/src/systrophe/spacetimes/cosmic_string.py +87 -0
- systrophe-0.14.1/src/systrophe/spacetimes/godel.py +138 -0
- systrophe-0.14.1/src/systrophe/spacetimes/gott.py +147 -0
- systrophe-0.14.1/src/systrophe/spacetimes/kerr.py +146 -0
- systrophe-0.14.1/src/systrophe/spacetimes/line_singularity.py +149 -0
- systrophe-0.14.1/src/systrophe/time_machine.py +201 -0
- systrophe-0.14.1/src/systrophe/tipler_fractal.py +305 -0
- systrophe-0.14.1/src/systrophe/vanstockum.py +374 -0
- systrophe-0.14.1/src/systrophe.egg-info/PKG-INFO +378 -0
- systrophe-0.14.1/src/systrophe.egg-info/SOURCES.txt +92 -0
- systrophe-0.14.1/src/systrophe.egg-info/dependency_links.txt +1 -0
- systrophe-0.14.1/src/systrophe.egg-info/requires.txt +10 -0
- systrophe-0.14.1/src/systrophe.egg-info/top_level.txt +1 -0
- systrophe-0.14.1/tests/test_acoustic_metric.py +117 -0
- systrophe-0.14.1/tests/test_adm_export.py +113 -0
- systrophe-0.14.1/tests/test_anomaly_inflow.py +175 -0
- systrophe-0.14.1/tests/test_array.py +96 -0
- systrophe-0.14.1/tests/test_back_reaction.py +122 -0
- systrophe-0.14.1/tests/test_casimir.py +156 -0
- systrophe-0.14.1/tests/test_casimir_throat.py +133 -0
- systrophe-0.14.1/tests/test_ctc.py +78 -0
- systrophe-0.14.1/tests/test_d_ctc.py +118 -0
- systrophe-0.14.1/tests/test_dinos_bridge.py +93 -0
- systrophe-0.14.1/tests/test_dirac.py +128 -0
- systrophe-0.14.1/tests/test_dirac_sea.py +64 -0
- systrophe-0.14.1/tests/test_dirac_spectrum.py +71 -0
- systrophe-0.14.1/tests/test_dsi_observables.py +126 -0
- systrophe-0.14.1/tests/test_energy_conditions.py +82 -0
- systrophe-0.14.1/tests/test_floquet.py +91 -0
- systrophe-0.14.1/tests/test_floquet_engineering.py +118 -0
- systrophe-0.14.1/tests/test_floquet_mobius.py +133 -0
- systrophe-0.14.1/tests/test_geodesic.py +57 -0
- systrophe-0.14.1/tests/test_godel.py +79 -0
- systrophe-0.14.1/tests/test_gott.py +98 -0
- systrophe-0.14.1/tests/test_hadamard_offtrace.py +110 -0
- systrophe-0.14.1/tests/test_horned_torus.py +157 -0
- systrophe-0.14.1/tests/test_kerr.py +120 -0
- systrophe-0.14.1/tests/test_lewis_papapetrou.py +224 -0
- systrophe-0.14.1/tests/test_lp_robust.py +84 -0
- systrophe-0.14.1/tests/test_newton_kantorovich.py +145 -0
- systrophe-0.14.1/tests/test_off_axis.py +138 -0
- systrophe-0.14.1/tests/test_offset_sweep.py +66 -0
- systrophe-0.14.1/tests/test_pair.py +68 -0
- systrophe-0.14.1/tests/test_particle_creation.py +77 -0
- systrophe-0.14.1/tests/test_photon_orbits.py +85 -0
- systrophe-0.14.1/tests/test_photon_raytrace.py +100 -0
- systrophe-0.14.1/tests/test_point_splitting.py +122 -0
- systrophe-0.14.1/tests/test_qftcs_backreaction.py +59 -0
- systrophe-0.14.1/tests/test_quantum_diagnostics.py +93 -0
- systrophe-0.14.1/tests/test_singularity_reinterpretations.py +167 -0
- systrophe-0.14.1/tests/test_sinusoid.py +57 -0
- systrophe-0.14.1/tests/test_time_machine.py +102 -0
- systrophe-0.14.1/tests/test_tipler_fractal.py +166 -0
- systrophe-0.14.1/tests/test_vanstockum.py +103 -0
systrophe-0.14.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Christian Knopp
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: systrophe
|
|
3
|
+
Version: 0.14.1
|
|
4
|
+
Summary: Co-rotating dust cylinder pair, van Stockum / Tipler exterior with log-periodic sinusoid superposition
|
|
5
|
+
Author-email: Christian Knopp <cknopp@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.10
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Requires-Dist: numpy>=1.24
|
|
11
|
+
Requires-Dist: scipy>=1.11
|
|
12
|
+
Provides-Extra: dev
|
|
13
|
+
Requires-Dist: pytest>=7; extra == "dev"
|
|
14
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
15
|
+
Requires-Dist: sympy>=1.12; extra == "dev"
|
|
16
|
+
Provides-Extra: symbolic
|
|
17
|
+
Requires-Dist: sympy>=1.12; extra == "symbolic"
|
|
18
|
+
Dynamic: license-file
|
|
19
|
+
|
|
20
|
+
<div align="center">
|
|
21
|
+
|
|
22
|
+
# Συστροφή — Systrophe
|
|
23
|
+
|
|
24
|
+
**A co-rotating Tipler-cylinder pair as a tunable time-travel harness.**
|
|
25
|
+
|
|
26
|
+
[](https://github.com/Zynerji/systrophe/actions/workflows/tests.yml)
|
|
27
|
+
[](https://www.python.org/)
|
|
28
|
+
[](LICENSE)
|
|
29
|
+
[](#tests)
|
|
30
|
+
[](paper/systrophe_time_travel.pdf)
|
|
31
|
+
[](paper/systrophe_qft_on_ctc.pdf)
|
|
32
|
+
[](pyproject.toml)
|
|
33
|
+
|
|
34
|
+
*Systrophē* (Greek **Συστροφή**, "twisting-together"): the joint exterior of two co-rotating, dual-positive-mass van Stockum dust cylinders, whose log-periodic Tipler sinusoids superpose with a tunable relative phase offset.
|
|
35
|
+
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## What this is
|
|
41
|
+
|
|
42
|
+
A complete numerical and analytic implementation of:
|
|
43
|
+
|
|
44
|
+
1. **The single rotating cylinder** — exact van Stockum 1937 interior + analytic Bonnor Case III exterior (closed forms for `F`, `K`, `L`).
|
|
45
|
+
2. **The Lewis–Papapetrou ODE integrator** — Ernst-equation numerical exterior for any rotation parameter, validated to machine precision against the closed forms.
|
|
46
|
+
3. **The Systrophe pair** — two co-axial supercritical cylinders linearly superposed, producing an *off-set Tipler sinusoid* whose CTC band positions are tunable by the relative phase `δ₂ − δ₁`.
|
|
47
|
+
4. **A time-machine harness** — locate CTC bands, derive timelike-orbit angular-velocity sectors, tune coordinate-time-per-revolution to a target value, simulate forward and backward time-travel orbits.
|
|
48
|
+
5. **A bridge to the Δῖνος (Dinos) Dirac–Kerr–Newman framework** — exact identification of the Tipler log-grid fundamental eigenvalue with the Z₃ Möbius cover branch=0 fundamental; non-trivial branches realise the off-set sectors of the systrophic pair.
|
|
49
|
+
|
|
50
|
+
The package ships with a **comprehensive whitepaper** ([`paper/systrophe_time_travel.pdf`](paper/systrophe_time_travel.pdf)) deriving every formula, all five figures, and reproducing the simulation results end-to-end.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Installation
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
pip install -e ".[dev]" # editable install with dev tools
|
|
58
|
+
pytest # 406 tests, ~3 minutes
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Optional extras:
|
|
62
|
+
- `.[symbolic]` — SymPy for the one-shot derivation script (`tools/derive_lewis_papapetrou.py`).
|
|
63
|
+
- `pip install z3-solver` — required if you want the Dinos bridge module (`systrophe.dinos_bridge`).
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Quickstart: build a single time machine
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
import numpy as np
|
|
71
|
+
from systrophe import VanStockumInterior, find_single_cylinder_windows, harness_time_loop
|
|
72
|
+
|
|
73
|
+
# A supercritical van Stockum cylinder: a = ω R = 1
|
|
74
|
+
cyl = VanStockumInterior(omega=1.0, R=1.0)
|
|
75
|
+
|
|
76
|
+
# Locate CTC bands in r ∈ [1.001, 200]
|
|
77
|
+
windows = find_single_cylinder_windows(cyl, r_min=1.001, r_max=200.0)
|
|
78
|
+
for w in windows:
|
|
79
|
+
print(f"CTC band: r ∈ [{w.r_inner:.3f}, {w.r_outer:.3f}] "
|
|
80
|
+
f"deepest L = {w.L_min:.3f}")
|
|
81
|
+
|
|
82
|
+
# Tune a backward-time-travel orbit: Δt per revolution = -1
|
|
83
|
+
orbit = harness_time_loop(windows[0], target_dt_per_rev=-1.0, n_revolutions=10)
|
|
84
|
+
print(f"Ω = {orbit['Omega']:+.4f}")
|
|
85
|
+
print(f"per rev: Δt = {orbit['dt_per_revolution']:+.3f}, Δτ = {orbit['dtau_per_revolution']:.3f}")
|
|
86
|
+
print(f"after 10 revs: Δt_total = {orbit['total_coord_time_advance']:+.3f}, "
|
|
87
|
+
f"Δτ_total = {orbit['total_proper_time_advance']:.3f}")
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Expected output:
|
|
91
|
+
```
|
|
92
|
+
CTC band: r ∈ [1.001, 6.134] deepest L = -3.351
|
|
93
|
+
CTC band: r ∈ [37.622, 200.000] deepest L = -126.065
|
|
94
|
+
Ω = -6.2832
|
|
95
|
+
per rev: Δt = -1.000, Δτ = 11.354
|
|
96
|
+
after 10 revs: Δt_total = -10.000, Δτ_total = 113.537
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
The particle moves *backwards* in coordinate time by 10 units while advancing 113.5 units of its own proper time.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Quickstart: tune the harness via a co-rotating pair
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
from systrophe import SystrophePair, VanStockumInterior
|
|
107
|
+
|
|
108
|
+
cyl = VanStockumInterior(omega=1.5, R=1.0)
|
|
109
|
+
pair = SystrophePair.from_cylinders(cyl, cyl, delta_offset=0.7853981633974483) # π/4
|
|
110
|
+
|
|
111
|
+
print(f"phase offset = {pair.phase_offset:.4f} rad")
|
|
112
|
+
bands = pair.ctc_bands(r_min=1.05, r_max=20.0)
|
|
113
|
+
print(f"{len(bands)} CTC bands; first at r ∈ [{bands[0][0]:.3f}, {bands[0][1]:.3f}]")
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
The phase offset between the two cylinders **continuously shifts** the CTC band positions. At exact anti-phase (`δ = π`), all CTC bands extinguish — a topological off-switch.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## End-to-end demonstration
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
python examples/time_travel_simulation.py
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Runs the full numerical experiment from the whitepaper: identifies CTC bands, sweeps offset, computes time-travel orbits, writes machine-readable JSON results to `examples/time_travel_simulation_results.json`.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Mathematical highlights
|
|
131
|
+
|
|
132
|
+
**Tipler log-frequency.** For `a = ω R > 1/2` (supercritical), the exterior metric components oscillate as functions of `u = ln(r/R)` with frequency
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
α = √(4 a² − 1).
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Closed forms** (all three Bonnor regimes).
|
|
139
|
+
|
|
140
|
+
*Supercritical* (`a > 1/2`): with `γ = π − arctan α`,
|
|
141
|
+
```
|
|
142
|
+
F(r) = (r/R) · sin(α u + γ) / sin γ
|
|
143
|
+
K(r) = (r/α) · [ ((α² − 1)/2) sin(α u + γ) − α cos(α u + γ) ]
|
|
144
|
+
L(r) = (r R sin γ / α²) · [ Q sin(α u + γ) + α(α² − 1) cos(α u + γ) ]
|
|
145
|
+
```
|
|
146
|
+
with `Q = α² − (α² − 1)² / 4`.
|
|
147
|
+
|
|
148
|
+
*Critical* (`a = 1/2`):
|
|
149
|
+
```
|
|
150
|
+
F(r) = (r/R)(1 − u) K(r) = (r/2)(1 + u) L(r) = (rR/4)(3 + u)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
*Subcritical* (`a < 1/2`): with `β = √(1 − 4a²)` and `S± = cosh(βu) ± sinh(βu)/β`,
|
|
154
|
+
```
|
|
155
|
+
F(r) = (r/R) S₋(u) K(r) = a r S₊(u) L(r) = rR(1 − a²S₊²)/S₋
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
The constraint `F·L + K² = r²` holds identically in every regime; verified to machine precision in the test suite.
|
|
159
|
+
|
|
160
|
+
**Pair superposition.** For matched `α`, the joint envelope is a single sinusoid whose amplitude and phase come from the phasor sum
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
A_eff · exp(i δ_eff) = A₁ exp(i δ₁) + A₂ exp(i δ₂).
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Time-travel orbit.** A circular orbit at fixed `r` in a CTC band has
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
Δt = 2 π / Ω (coordinate time per rev)
|
|
170
|
+
Δτ = √(F − 2 K Ω − L Ω²) · |Δt| (proper time per rev)
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
The full derivation, with Lewis–Papapetrou Ernst-equation reduction and Bonnor's Case classification, is in the whitepaper.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Architecture
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
src/systrophe/ Classical-GR backbone (v0.1-v0.6)
|
|
181
|
+
vanstockum.py — Interior metric + analytic Case III exterior
|
|
182
|
+
lewis_papapetrou.py — Numerical Ernst-equation integrator
|
|
183
|
+
lp_robust.py — Regime-dispatching robust solver
|
|
184
|
+
sinusoid.py — TiplerSinusoid log-periodic envelope
|
|
185
|
+
pair.py — SystrophePair co-axial superposition
|
|
186
|
+
off_axis.py — OffAxisPair parallel-axis
|
|
187
|
+
ctc.py — CTC band detector
|
|
188
|
+
geodesic.py — Circular orbits, integrate_geodesic
|
|
189
|
+
time_machine.py — TimeMachineWindow + harness
|
|
190
|
+
dinos_bridge.py — Optional Dinos-DKN interop
|
|
191
|
+
|
|
192
|
+
src/systrophe/ Quantum / QFT layer (v0.7-v0.13; see paper II)
|
|
193
|
+
dirac.py, dirac_spectrum.py — Radial Dirac operator + bound-state spectrum
|
|
194
|
+
dirac_sea.py — Dirac-sea pressure, horizon divergence
|
|
195
|
+
particle_creation.py — Bogoliubov-style horizon emission
|
|
196
|
+
qftcs_backreaction.py — QFTCS curvature back-reaction trace
|
|
197
|
+
quantum_diagnostics.py — Ricci, surface gravity, Hawking T, Tolman
|
|
198
|
+
point_splitting.py — 4D Riemann/Kretschmann/trace anomaly
|
|
199
|
+
hadamard_offtrace.py — Full <T_munu>_ren tensor
|
|
200
|
+
floquet.py — Adiabatic Floquet on radial Dirac
|
|
201
|
+
floquet_mobius.py — Joint Floquet on (time x Z_3 branch)
|
|
202
|
+
casimir.py — Topological Casimir / Z_3 mode sums
|
|
203
|
+
casimir_throat.py — Brown-Maclay <T_munu> at cavity
|
|
204
|
+
anomaly_inflow.py — APS eta + Callan-Harvey Z_3 closure
|
|
205
|
+
tipler_fractal.py — DSI + cascade-DSI extension
|
|
206
|
+
horned_torus.py — Regular + inverted horn modes
|
|
207
|
+
acoustic_metric.py — Unruh acoustic-metric mapping
|
|
208
|
+
newton_kantorovich.py — NK solver + Picard comparison
|
|
209
|
+
back_reaction.py — Self-consistency composite residual
|
|
210
|
+
floquet_engineering.py — CTC stability map (drive_amp, omega)
|
|
211
|
+
dsi_observables.py — Log-periodic precursor fits
|
|
212
|
+
adm_export.py — ADM 3+1 hand-off for NR codes
|
|
213
|
+
d_ctc.py — Deutsch CTC fixed-point on Z_3 cover
|
|
214
|
+
|
|
215
|
+
tests/ — 367 passing tests across 30 modules
|
|
216
|
+
paper/
|
|
217
|
+
systrophe_time_travel.tex/pdf Whitepaper I (classical, v0.1-v0.6)
|
|
218
|
+
systrophe_qft_on_ctc.tex/pdf Whitepaper II (QFT, v0.7-v0.13)
|
|
219
|
+
docs/
|
|
220
|
+
INTERPRETATIONS.md — 6 open ansatz claims, with required input
|
|
221
|
+
EXPERIMENTAL_ACOUSTIC_ANALOG.md — BEC-vortex design proposal
|
|
222
|
+
examples/ — Verification batteries + simulation scripts
|
|
223
|
+
tools/ — One-shot SymPy derivations
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Quantum layer (v0.13)
|
|
229
|
+
|
|
230
|
+
Beyond the classical-GR core, Systrophe v0.7–v0.13 adds:
|
|
231
|
+
|
|
232
|
+
- **Renormalised stress tensor** on the LP background, with off-trace
|
|
233
|
+
components `<T_{μν}>_ren = (1/2880π²) R_{μρστ} R_ν^{ρστ}`, whose
|
|
234
|
+
trace recovers the conformal anomaly exactly.
|
|
235
|
+
- **Anomaly inflow** on the Z₃ Möbius cover: APS η-invariants give
|
|
236
|
+
(0, 1/3, −1/3) summing to zero; nonzero gauge twist is closed by
|
|
237
|
+
Chern-Simons coefficient `1/(24π²)`.
|
|
238
|
+
- **Acoustic-metric mapping**: identification `c² − v² = F` makes
|
|
239
|
+
the chronology horizon an acoustic horizon. Gravitational and
|
|
240
|
+
acoustic Hawking temperatures agree to machine precision.
|
|
241
|
+
- **Joint Floquet** on (time-circle × Z₃-branch), with cyclic-
|
|
242
|
+
permutation symmetry verified and the `(e_b − e_b')` resonance
|
|
243
|
+
identified.
|
|
244
|
+
- **Brown-Maclay** flat-space Casimir at the cavity, with LP
|
|
245
|
+
curvature-correction scale `K · d⁴` (small means flat-space
|
|
246
|
+
approximation valid).
|
|
247
|
+
- **Newton-Kantorovich** back-reaction solver demonstrating that
|
|
248
|
+
naive Picard iterations converge linearly, not quadratically.
|
|
249
|
+
- **Cascade discrete-scale invariance** (`tipler_fractal.py`):
|
|
250
|
+
proves the base Tipler sinusoid is not fractal (dim 0) but the
|
|
251
|
+
multi-cylinder cascade is (dim > 0.3).
|
|
252
|
+
- **Horned torus** topology with regular (pinch) and inverted
|
|
253
|
+
(bulge) variants.
|
|
254
|
+
- **ADM 3+1 export** for hand-off to Einstein Toolkit / similar NR
|
|
255
|
+
codes.
|
|
256
|
+
- **D-CTC** Deutsch-CTC fixed-point solver on the Z₃ cover.
|
|
257
|
+
|
|
258
|
+
Full derivations are in [`paper/systrophe_qft_on_ctc.pdf`](paper/systrophe_qft_on_ctc.pdf)
|
|
259
|
+
(Whitepaper II). Open ansatz-level interpretations are documented in
|
|
260
|
+
[`docs/INTERPRETATIONS.md`](docs/INTERPRETATIONS.md). A BEC-vortex
|
|
261
|
+
experimental-analog design proposal is in
|
|
262
|
+
[`docs/EXPERIMENTAL_ACOUSTIC_ANALOG.md`](docs/EXPERIMENTAL_ACOUSTIC_ANALOG.md).
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## The Δῖνος bridge
|
|
267
|
+
|
|
268
|
+
The package optionally interoperates with [Dinos-DKN](https://github.com/Zynerji/dinos-DKN), exposing a striking structural correspondence:
|
|
269
|
+
|
|
270
|
+
> **Theorem (numerical, exact to machine precision).**
|
|
271
|
+
> Sample the supercritical Tipler exterior at `N` nodes per log-period `2π/α`. The fundamental discrete-Laplacian eigenvalue equals exactly the `branch = 0` mode-1 eigenvalue of the Dinos Z₃ Möbius cover at the same `N`. The non-trivial branches `b ∈ {1, 2}` (complex conjugate pair, `2π/3` phase advance per node) sit at strictly lower eigenvalue and are the discrete signature of the off-set sectors of the systrophic pair (`δ = ±2π/3`).
|
|
272
|
+
|
|
273
|
+
```python
|
|
274
|
+
from systrophe import VanStockumInterior
|
|
275
|
+
from systrophe.dinos_bridge import z3_branch_match_to_tipler_alpha
|
|
276
|
+
|
|
277
|
+
vs = VanStockumInterior(omega=1.0, R=1.0)
|
|
278
|
+
out = z3_branch_match_to_tipler_alpha(vs, N=24)
|
|
279
|
+
# {'tipler_eigenvalue': 0.06814834..., 'z3_eigenvalues': (0.06815, 0.00761, 0.00761),
|
|
280
|
+
# 'best_branch_match': 0, 'relative_residual': 0.0}
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Requires `pip install z3-solver` and Dinos-DKN on `PYTHONPATH`. The test suite skips silently if either is unavailable.
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Tests
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
pytest # 65 tests, ~5 seconds
|
|
291
|
+
pytest -v # verbose
|
|
292
|
+
pytest --cov=systrophe # with coverage (requires pytest-cov)
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
Test suite breakdown:
|
|
296
|
+
|
|
297
|
+
| Module | Tests | Coverage |
|
|
298
|
+
|---|---:|---|
|
|
299
|
+
| `test_vanstockum.py` | 7 | Minkowski limit, invariants, threshold, exterior rejection |
|
|
300
|
+
| `test_sinusoid.py` | 6 | α formula, log-periodicity, fit recovery |
|
|
301
|
+
| `test_pair.py` | 7 | Phasor collapse, anti-phase cancellation, principal-range wrap |
|
|
302
|
+
| `test_ctc.py` | 6 | Sign-band detection, destructive interference, modulated bands |
|
|
303
|
+
| `test_lewis_papapetrou.py` | 12 | Continuity, supercritical numerical-vs-analytic, constraint |
|
|
304
|
+
| `test_lp_robust.py` | 8 | Regime dispatch, machine-precision supercritical, F-zero formula |
|
|
305
|
+
| `test_off_axis.py` | 7 | Construction guards, reflection symmetries, 2D CTC map |
|
|
306
|
+
| `test_dinos_bridge.py` | 6 | Kerr mapping, Z₃ branch correspondence (skipped if z3 absent) |
|
|
307
|
+
| `test_offset_sweep.py` | 6 | Convenience constructor, offset-π minimum, type checks |
|
|
308
|
+
| `test_geodesic.py` | 6 | Minkowski circular orbit, Ω-bounds, target-time inverse |
|
|
309
|
+
| `test_time_machine.py` | 9 | Band detection, target-Δt matching, spacelike rejection |
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Whitepaper
|
|
314
|
+
|
|
315
|
+
[`paper/systrophe_time_travel.pdf`](paper/systrophe_time_travel.pdf) (11 pages, includes 5 figures and 3 tables) covers:
|
|
316
|
+
|
|
317
|
+
1. Mathematical framework — van Stockum, Lewis–Papapetrou, Ernst, Bonnor cases.
|
|
318
|
+
2. Co-rotating cylinder pair — linearised superposition, off-set Tipler sinusoid.
|
|
319
|
+
3. Closed timelike curves and time-travel orbits — geodesic structure, coordinate vs proper time.
|
|
320
|
+
4. Time-machine harness — single-cylinder and pair-tuned numerical results.
|
|
321
|
+
5. Connection to Dinos via Z₃ Möbius eigenvalue correspondence.
|
|
322
|
+
6. Implementation, tests, evaluation.
|
|
323
|
+
7. Limitations and open questions (chronology protection, asymptotic non-flatness, idealised source).
|
|
324
|
+
|
|
325
|
+
To regenerate the PDF:
|
|
326
|
+
```bash
|
|
327
|
+
python paper/generate_figures.py # produces paper/figures/*.pdf
|
|
328
|
+
cd paper && pdflatex systrophe_time_travel.tex && pdflatex systrophe_time_travel.tex
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## Limitations
|
|
334
|
+
|
|
335
|
+
- **Linearised pair.** Two-cylinder Einstein vacuum has no closed form; both `SystrophePair` (co-axial) and `OffAxisPair` (parallel-axis) treat the second source as a linearised perturbation. Cross-terms `h^(1) · h^(2)` are formally O(G²) and not modelled.
|
|
336
|
+
- **Off-axis quantitative limits.** In the off-axis case, the Case III exterior is not asymptotically flat, so both single-cylinder perturbations are simultaneously "large" at most points; the linearised superposition is best read as a qualitative tool for identifying CTC regions rather than as a quantitative orbital framework.
|
|
337
|
+
- **Idealised source.** Infinite, rigid, perfectly axisymmetric dust column. No known matter form realises this; Tipler-cylinder time-travel scenarios are theoretical exercises in the structure of GR vacuum solutions.
|
|
338
|
+
- **Asymptotic non-flatness.** The Case III exterior oscillates indefinitely; there is no privileged "observer at infinity" against whom coordinate time can be synchronised.
|
|
339
|
+
- **No chronology protection.** This is a pre-quantum, classical-GR construction. The chronology-protection conjecture (Hawking 1992) is not addressed.
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Citation
|
|
344
|
+
|
|
345
|
+
```bibtex
|
|
346
|
+
@misc{Knopp2026Systrophe,
|
|
347
|
+
author = {Knopp, Christian},
|
|
348
|
+
title = {{Systrophē}: A co-rotating Tipler-cylinder pair as a tunable
|
|
349
|
+
time-travel harness},
|
|
350
|
+
year = {2026},
|
|
351
|
+
note = {Python implementation of van Stockum interior, Lewis--Papapetrou
|
|
352
|
+
exterior, off-set Tipler sinusoid, and Z\_3 M\"obius cover
|
|
353
|
+
correspondence; 65 passing tests.},
|
|
354
|
+
url = {https://github.com/Zynerji/systrophe}
|
|
355
|
+
}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## License
|
|
361
|
+
|
|
362
|
+
MIT. See [`LICENSE`](LICENSE).
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Contact
|
|
367
|
+
|
|
368
|
+
`cknopp@gmail.com`
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## References
|
|
373
|
+
|
|
374
|
+
- W. J. van Stockum, *The gravitational field of a distribution of particles rotating about an axis of symmetry*, Proc. Roy. Soc. Edin. **57** (1937) 135.
|
|
375
|
+
- T. Lewis, *Some special solutions of the equations of axially symmetric gravitational fields*, Proc. Roy. Soc. London A **136** (1932) 176.
|
|
376
|
+
- F. J. Tipler, *Rotating cylinders and the possibility of global causality violation*, Phys. Rev. D **9** (1974) 2203.
|
|
377
|
+
- W. B. Bonnor, *The exterior gravitational field of a rotating cylinder of dust*, J. Phys. A **13** (1980) 2121.
|
|
378
|
+
- S. W. Hawking, *The chronology protection conjecture*, Phys. Rev. D **46** (1992) 603.
|