Gravity / Software

Run the checks.

Every figure on these pages comes from matrices and polynomials the papers print. Six programs recompute them, from the cell Hessian of Appendix B to the doubler logarithm, and each prints PASS or FAIL for every statement it checks. Run them on your machine with Python 3, or here in your browser with one click.

In the browser a program runs in Python compiled for the web, loaded only when you ask; the first run downloads about 10 MB. Each run ends with a receipt: the sha256 of the file it ran, compared with the one listed here. All six programs are MIT-licensed.

The programs

Six programs, two papers.

  1. Earlier paper · Appendix F, Theorem 5.5

    paired_dispersion.py

    Traces both polarizations along the paired direction from the polynomials of Appendix F in 40-digit arithmetic, checks the limits and windows of Theorem 5.5 (phase speeds 1 − (59/24)|k|² and 1 + (5/24)|k|², group speeds 1 − (59/8)|k|² and 1 + (5/8)|k|²), and writes the samples drawn in the dispersion figure.

    Python 3 with mpmath · sha256 843e2bf489786b6b92a835f7e7ca0d3157217e28715df81d0162c54e4b1f75d5

    Live on the landing page’s hero.

  2. Earlier paper · Appendix B, Sections 3.5, 4 to 6

    kuhn_bloch.py

    Rebuilds the κ = 1 operator from the cell Hessian printed in Appendix B and checks Proposition 6.1 (the four corner zero modes, |vc|² = 31/16), Proposition 6.2 and Theorem 6.15 (the doubler’s cone), the static normalization of Section 3.5 and Theorem 5.4 and the static resonance W of Appendix B, Proposition 4.5 on an axis line and a null line, and that the cross curve of Appendix F is exactly its cross sector; with --static and --slice it writes the data of the static-field and zero-set figures.

    Python 3 with numpy · sha256 b7ca85f6ff5e5aa92b37d46589658f1f10f4b40effa93c3dd7d66d8ca6483059

    Live on Newton’s law from the lattice and the four doublers.

  3. Earlier paper · Appendix B, Propositions 6.3 and 6.4

    regge_action.py

    Rebuilds the action of a Kuhn simplex from its areas and dihedral angles and recovers the matrix C of Appendix B: exactly, when each simplex takes its own flat dihedral angle as its share at a triangle; with the equal share 2π/nh the simplex Hessians differ on three pairs of edges by terms that cancel at every triangle, and the lattice operator is the same. Then it computes the seven corner shifts of the backgrounds figure and the coefficients of Proposition 6.4 from the third variation of the action.

    Python 3 with numpy and mpmath · sha256 b27ebf0677a9660f99f4f912643a7ace184606b9693cb347467effb699f19a84

  4. Earlier paper · Propositions 6.5 and 6.13

    doubler_log.py

    Evaluates the integral of Proposition 6.5 in 30-digit quadrature, checks the exact prefactor 5/(44√335 π²), the slope per factor of ten and the asymptote log 2 − 1 − γ, checks Proposition 6.13 for a mass, a tachyonic shift and a width, and with --json writes the values drawn in the logarithm figure.

    Python 3 with mpmath · sha256 3ad7070c05193a413ca0dc23e85df145b27a0c52e40bee323afe72da501d1f0b

    The same integral is computed live on the four doublers.

  5. Quantum gravity paper · Theorems 5.3 to 5.5

    curvature_weight.py

    Builds the curvature weight 𝒟 from the formula of Theorem 5.4 and the action’s flat Hessian from Schläfli’s identity, from the exact flat dihedral angles and their derivatives at 40 digits; checks the hinges (50 shapes per cell, valences 4 and 6), the weights Ah/nh = 1/12, 1/4 and √3/4, Theorem 5.3 (the signed census 6 + 8√3), Theorem 5.5 (zero on strains and vertex moves, fourth order, positive on the four doublers, with the damping (10 + 3√3)/124), the doubler of the earlier paper’s Proposition 6.1, and rank eleven of the linearized deficits at the four axis corners; with --compare it matches the Hessian kuhn_bloch.py assembles from Appendix B.

    Python 3 with numpy and mpmath · sha256 42ecc0cf9110915f8a78aeaf79d8a16b417b97c31e34c836e3d867d6e09d9c7e

  6. Quantum gravity paper · Theorem 4.3

    vertex_symmetry.py

    Builds the Regge action’s second and third derivatives at the flat lattice in Schläfli’s form, whose entries are integers over 16√3 and 96√3, and then works exactly: it constructs the slaved correction from the paper’s description (the paper does not print it), checks the thirty equations at the record y and the move’s zero equations, and finds D³S(h, h, g) = 756√3, so the lattice’s vertex symmetry fails at second order.

    Python 3 with numpy · sha256 61aae4a0fa2212cf342aa6507e0781c151b96575fa37197bad9f1b6f5852a398

The live figures

Two ports, checked against the programs.

The explorers compute in JavaScript so that they can answer at once. Each port repeats a program’s construction in double precision and agrees with it to rounding.

Appendix F

1.5×10−15

dispersion.js solves both polarizations’ polynomials. Its frequencies agree with paired_dispersion.py’s 40-digit samples to this, at all 908 points, and it reproduces the limits −59/24, −59/8, 5/24 and 5/8.

Appendix B

4×10−14

kuhn-operator.js assembles the operator from the cell Hessian. Every one of its 225 entries agrees with kuhn_bloch.py’s to this at 20 random waves, and its three static resonances, 0.8663, 0.7407 and 2.5264, agree to ten digits.

Checks on the pages

Seven checks that run as you read.

The newer explorers compute their figures from the papers’ own formulas and check themselves in your browser. These are the agreements measured when they were built.

Einstein’s equation

6×10−8

The Einstein page builds the lattice’s rows on a random curved metric from scratch and compares them with −½ times the Einstein density. Over 108 cases, κ from 0.55 to 3, the largest relative difference is this.

Record time

1.8×10−15

The quantum page applies the κ = 1 Bloch matrix, from kuhn-operator.js, to the paper’s growing solution. Its largest residual is this, against matrix entries up to 1.74.

The damped model

4×10−16

The quantum page’s damped model takes its growing root from the paper’s exact identity. It agrees with a 50-digit computation to this relative error at the five spacings and strengths tested.

The obstruction

5×10−9

The Einstein page’s last figure computes the thirty Regge rows at a record for the static field of the Einstein-equation paper’s Proposition 7.2. Its second-order vertex-move defect matches 756√3 to this relative error, and its first-order rows vanish to 6×10−11.

The scalar’s roots

4×10−14

The eight record-time roots of the one-loop model’s scalar, solved on the quantum page, leave its symbol s(w) at most this large, for κ from 0.505 to 20.

One unit on the lattice

10−15

The point-source page computes the Green function from the heat-kernel form. It matches the paper’s W(0) = 0.2527310 and its values at |n| ≈ 30 to every printed digit, and its face Laplacian is one at the source and zero elsewhere to this.

The vacuum check

4×10−15

The Einstein page’s slope figure: for Regge’s slope both conditions of the slope paper’s Proposition 4.1 vanish to this at every κ from 0.51 to 6, and each of the paper’s counterexamples is a vacuum exactly where the paper says.

More

The Regge lab and the deposits.

Sources: the earlier paper is Linearized Einstein gravity from Lorentzian Regge calculus on the Kuhn lattice; the quantum gravity paper is Quantum Gravity from the Recognition Ledger, version 1.2; the Einstein-equation paper is Einstein’s Metric Field Equation at Every Order from the Recognition Lattice.

Words on this page, in plain terms: doubler · record-time root · curvature weight · κ (kappa).

The gravity portal · Glossary · Search every page