RECOGNITION
PHYSICS INSTITUTE
Gravity / Research lab

Research / Quantum gravity

Gravity,
on a lattice.

← Start with the gravity introduction

Change a wave’s wavelength and direction to see how the lattice affects its motion. Then run the calculations behind the paper.

This lab runs the September 2026 study, which continues one momentum component to imaginary frequency. Our later papers treat the same triangulation in real time, at the value of the lattice’s one parameter that they identify as κ = 1, a different quantity from the dispersion coefficient κ shown below. Chapter 07 of the gravity introduction explains what the quantum gravity paper found, and the Gravity page teaches the real-time results, with programs you can run in the browser.

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 for a specified lattice gauge. The reference geometry stays fixed and the amplitude is arbitrary. The display illustrates a weak-field mode; nonlinear spacetime evolution is outside this calculation.

Phase speed / c…ω / |k|
Group speed / c…|∇kω|
Frequency ωa / c…From 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.

Run the paper’s programs against its 302-entry rational coupling table. Your browser carries out the calculation and returns a 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 full 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

Source & reference outputs

The source, data,
and exact checks.

Download the numerical program, its three geometry dependencies, exact symbolic checks, rational coupling data, and reference outputs. The package includes the full spectrum calculation and instructions for reproducing it.

Paper

Lattice Graviton Dispersion on the Kuhn Triangulation

Jonathan Washburn & Philip Beltracchi · September 2026

Numerical companion to the lattice graviton dispersion study.

Ask about the paper ↗
Calculation methods & reproducibility

The reproduction instructions cover the geometry audit and platform setup, including Windows commands that work without shell activation.

Spectrum calculation. Use VerifyQuartic.py and its reference result for the full off-shell eigenvalue spectrum. The numerical program also contains diagonal Rayleigh evaluations; these are distinct from the spectrum. The explorer displays the on-shell equal-polarization dispersion.

Entropy anchor. VerifyPhilipDraft.py supplies the √(4 ln 2) anchor. The optional anchor in the numerical program uses √π and requires this substitution. The download contains the full geometry and finite-difference calculation; 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. Reference outputs are labeled; each browser run produces its own result.

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

File manifest