RECOGNITION
PHYSICS INSTITUTE
Gravity / Research lab

Research / Quantum gravity

Gravity,
on a lattice.

← Start with the gravity introduction

Change the wavelength. Turn the wave.
Run the mathematics behind the paper.

Python source & reproducibility ↓

01 / Lattice wave explorer

Starting Python…

Free, weak-field lattice modes. The calculation uses the paper’s axis-time continuation. Here, c is the model’s long-wavelength speed; comparison with photons requires a specified photon law.

Lattice mode · edge strain
Loading the Python calculation
Direction [1, 0, 0]t c/a = 0.0
Wave-vector direction

White k arrow: normal to phase fronts. Blue vg arrow: group velocity, with length proportional to speed / c.

Long wavelengthZone edge

Dimensionless |k|a. Each component stays within the first Brillouin zone.

Lattice polarization

Two modes satisfying the lattice constraint. The labels approach ordinary plus and cross polarizations at long wavelengths.

−1 · contraction0+1 · extension

Normalized edge strain

Colors show relative changes in edge length in a specified lattice gauge. The reference geometry stays fixed; amplitude is arbitrary. This is a field visualization, not a nonlinear spacetime simulation.

Phase speed / cω / |k|
Group speed / c|∇kω|
Frequency ωa / cFrom the exact branch
Leading coefficient κ(1 + Σ nj⁴) / 24

Where the lattice departs from the continuum

LatticeContinuum

The graph will appear when Python has calculated the branch.

The equation and what is being shown

ωa/c = 2 asinh √[Σj=1…3 sin²(|k|a nj/2)]

This is the free graviton branch of the linearized Regge action on the four-dimensional Kuhn triangulation, with the fourth momentum component continued to imaginary frequency. It is exact in lattice momentum and weak-field in amplitude. The speed c is the long-wavelength limit.

The spatial view includes all seven spatial edge classes of the Kuhn triangulation. Python constructs the two finite-momentum modes using lattice differences and the paper’s exact edge map, then checks the full 15-edge equations. Each mode is normalized by its largest spatial edge-strain amplitude. Color and line width show the signed strain; vertex positions stay fixed.

The displayed gauge sets the time components and spatial trace of the transformed tensor to zero. The two modes are independent modulo vertex displacements. Individual edge colors depend on this gauge and are not gauge-invariant curvature measurements. At zero momentum the view is a static uniform-strain limit, not a propagating wave.

Mode equations will be checked when Python loads.

Changing direction changes dispersion. The group-velocity vector need not be parallel to the wave vector; the readout reports its magnitude. At zero momentum the speed readouts use the limit c. A directly constructed Lorentzian Regge action, interactions with matter and quantum fluctuations are outside this free-mode calculation.

The explorer runs explorer.py and lattice_modes.py. Read the mode construction and gauge derivation, the independent mode audit, or its reference result. The three checks below execute the supplied paper programs unchanged.

02 / Run the actual Python

SymPy · exact arithmetic

Reproduce the result.

These are the paper’s downloadable programs, executed in your browser against the same 302-entry rational coupling table. Each run produces a fresh result you can inspect and save.

01

The Einstein operator

Verify the quadratic identity and the zero-momentum characteristic polynomial. Every matrix entry is checked exactly.

View Python source
02

The finite-momentum factorization

Check all 100 entries of the transformed action, the constraint identity and the gauge map as rational-function identities.

View Python source
03

The corrected quartic spectrum

Diagonalize the full five-dimensional off-shell transverse-traceless operator along an axis and a face diagonal, including off-diagonal terms.

View Python source
Ready when you are
Choose a check to run. Python and SymPy load on first use; calculations may take a minute or more.
Full output & calculation receipt
No calculation has run yet.

The exact checks run in a separate worker, so the wave explorer remains responsive. Stopping a check discards its unfinished calculation. No code or results are sent to a server.

03 / Software & paper

Release 2026.09.16

The complete calculation,
ready to take apart.

Original numerical program, all three geometry dependencies, exact symbolic checks, rational coupling data and reference outputs. Includes the corrected spectrum and instructions for reproducing the full computation.

Paper

Lattice Graviton Dispersion on the Kuhn Triangulation

Jonathan Washburn & Philip Beltracchi · September 2026

Manuscript in preparation. This software corresponds to the proposed 15 September revision.

Ask about the paper ↗
Version notes & reproducibility

16 September Windows fix. The geometry audit now records the computer name portably. The download includes Windows setup commands that do not require shell activation.

15 September correction. Some values in the original numerical program were diagonal Rayleigh evaluations, not the full off-shell eigenvalue spectrum. Use VerifyQuartic.py and its reference result for the corrected spectrum. The on-shell equal-polarization dispersion shown above is unchanged.

The original numerical program is preserved unchanged. Its historical optional entropy anchor uses √π; the corrected anchor is √(4 ln 2). VerifyPhilipDraft.py supplies the updated substitutions. The full geometry and finite-difference run is available in the download; this page runs the compact exact checks.

Native reference checks used Python 3.10, SymPy 1.12, mpmath 1.2.1 and NumPy 1.21.5. Browser execution uses pinned Pyodide 0.28.3 with its bundled packages; each receipt records the actual runtime and source hashes. The supplied reference outputs are labeled as such, separate from fresh browser results.

These are reproducible calculations of the stated lattice model. The free branch alone does not establish a physical matter-coupling law. The proposed paper states the assumptions used in its cosmic-ray bound.

Release manifest · Browse all source files