Group Abstract Group Abstract

Message Boards Message Boards

A lattice physics approach to spin-networks in loop quantum gravity

A lattice physics approach to spin-networks in loop quantum gravity

Attachments:
POSTED BY: Noah MacKay
2 Replies
Posted 1 day ago

I started with a single nagging question: “What can we say about reality that is absolutely undeniable, even before any equations?” I tried to strip every assumption away and keep only statements that survive the toughest “you-can’t-deny-this” test. Stepping through that exercise—almost like peeling an onion—landed me on the five axioms below. They aren’t imported from quantum textbooks; they arise directly from the way we all perceive the world.

self-evident observation | irreducible axiom

1️⃣ Something exists for us to notice. | A0 State → There is a non-empty set of distinguishable configurations.

2️⃣ Things change: the scene you’re looking at now isn’t frozen for ever. | A1 Change → There is at least one positive tick of time ε>0.

3️⃣ When things change, successive chances multiply (today + tomorrow = two-day outlook) and the total chance is still 100 %. P Semigroup → Kernels compose additively in time and every row sums to 1.

4️⃣ Up-close, changes look small and local; big jumps are rare. (Think of a dust mote jiggling.) S Smooth kernel → At tiny εεε the hop distribution is Gaussian, parameterised by a width D.

5️⃣ Nature puts a minimum fuzziness on simultaneously knowing “where” and “how fast’’ (an empirical fact). Q Quantum of action → [q,p]=iℏ[q,p]=i\hbar[q,p]=iℏ which fixes that width to D=ℏ/2mD=\hbar/2mD=ℏ/2m.

So—from nothing more than “I see stuff that changes, probabilities add up, motion is mostly small, and there’s a fundamental blur”—you arrive at exactly the axioms that reproduce the Feynman path integral after one Wick-rotation.

In that sense our very perception of reality already proves the framework: each axiom merely formalises an aspect of experience that no observer can honestly deny. With help from ChatGPT I distilled that hunch into five minimal axioms. They don’t rely on Hilbert-space operator lore or canonical quantisation; they start with nothing more exotic than “things can hop around stochastically”. From those axioms the Euclidean heat kernel emerges, and by a single Wick rotation it becomes the Schrödinger propagator—the very object inside Feynman’s sum-over-histories.

Below is the concise statement of each axiom and the key feature it guarantees.

The axioms and what each one locks in

label | concise statement | what it forces

A0 — State existence | There is a non-empty measurable set (X) (points, graph nodes, configurations) and a σ-algebra of events. | We have something to assign probabilities to.

A1 — Change | At least one positive time tick (\varepsilon>0) exists. | Excludes a frozen universe; lets us talk about evolution step-by-step.

P — Probabilistic semigroup | For every (\varepsilon) a kernel (K{\varepsilon}(x,y)) satisfies • composition (K{\varepsilon}*K{\varepsilon'}=K{\varepsilon+\varepsilon'}) • normalisation (\sumy K{\varepsilon}(x,y)=1). | Ensures Markov consistency and row-sums = 1 ⇒ local Wheeler–DeWitt-type constraint.

S — Smooth short-time form | As (\varepsilon\!\to\!0) (K_{\varepsilon}(x,y)\approx(4\pi D\varepsilon)^{-d/2} e^{-(y-x)^2/(4D\varepsilon)}). | Locality + central-limit arguments ⇒ a Gaussian heat kernel with free width (D).

Q — Quantum of action | There exists a pair ([q,p]=i\hbar\,\mathbf 1) (or equivalently the harmonic-oscillator spectrum). | Pins diffusion width to (D=\hbar/(2m)) and inserts the uncertainty relation; this single line turns diffusion into quantum mechanics.

I asked the AI for help with the code, if it helps great. Sections 1–2 set constants and build the tetrahedral spin-network graph.

Section 3 implements the Gaussian hop kernel fixed by the quantum-of-action axiom.

Section 4 adds your Lennard-Jones + ℓ potential in one editable function (Vℓ).

Sections 5–8 show heat-trace regularisation, energy spectrum, coherent-state count, Wick-rotated propagation, and an optional uncertainty check.

Run it with

wolframscript -file SpinNet_KernelPlayground.wl

and you’ll get:

the row-sum deviation (Wheeler–DeWitt test)

the finite t⁰ part of the heat trace (regularised structural energy)

the four-vertex energy spectrum

the smallest boson number that yields ≥ 12 coherent modes

a norm-preserving unitary step and Δx Δp versus ℏ/2.

All that comes straight from the five axioms plus your structural potential. Tweak Vℓ, ε, or mEff, rerun, and the whole pipeline updates automatically.

(* ::-------------------------------------------:: *)
(* SpinNet_KernelPlayground.wl                  *)
(* A single-file Wolfram Language prototype     *)
(* that marries the five Kernel‑Axioms with     *)
(* Noah MacKay’s tetrahedral spin‑network model *)
(* ------------------------------------------- *)

(* ---------- 1. EDITABLE PHYSICAL CONSTANTS ---------- *)

hbar   = 1.054571817*10^-34;          (* Planck constant (J·s)                *)
mEff   = 1.0;                         (* effective "mass" of one lattice node *)
ε      = 1.*10^-18;                  (* short Euclidean time step (s)        *)

(* ---------- 2. GEOMETRY: TETRAHEDRAL SPIN NETWORK ---------- *)

(* four vertices & six edges of a regular tetrahedron            *)
V      = {v1, v2, v3, v4};
E      = UndirectedEdge @@@ {{v1,v2},{v1,v3},{v1,v4},
                             {v2,v3},{v2,v4},{v3,v4}};
graph  = Graph[V, E, VertexLabels -> "Name"];

(* hop-count distance on the graph (0,1,2) *)
dist[v_, w_] := GraphDistance[graph, v, w];

(* ---------- 3. KERNEL FROM AXIOMS S + Q ---------- *)

D = hbar/(2 mEff);                   (* diffusion width fixed by axiom Q *)

ShortTimeKernel[v_, w_, ε_] :=
  1/Sqrt[4 π D ε] * Exp[-dist[v, w]^2/(4 D ε)];

Kε = Table[ShortTimeKernel[v, w, ε], {v, V}, {w, V}];

rowDeviation = Max@Abs[Total[Kε, {2}] - 1];
Print["Row‑sum deviation (should be <10⁻⁸): ", rowDeviation];

(* ---------- 4. HAMILTONIAN: LAPLACIAN + STRUCTURAL POTENTIAL ---------- *)

lap = GraphLaplacian[graph, WeightingFunction -> (1 &)];
Hkin = -(hbar^2/(2 mEff)) lap;       (* kinetic term from Gaussian width *)

(* EDIT THIS FUNCTION: insert your ℓ‑dependent Lennard‑Jones expression *)
ℓ      = 1;                          (* example angular‑momentum quantum   *)
σ      = 2.707;                      (* null‑point factor (in lP units)    *)
lP     = 1.616255*10^-35;           (* Planck length (m)                  *)

Vℓ[rRatio_] := (mEff) * ( (* zero‑point term *)
                       4.3610/Sqrt[ℓ (ℓ+1)] +
                       0.4908 (σ/rRatio)^2  +
                       1.9632 ((σ/rRatio)^12 - (σ/rRatio)^6) );

(* For this discrete model, assign the same structural energy to each vertex *)
VStruct[v_] := Vℓ[1];                (* rRatio = 1 at equilibrium *)
Hpot = DiagonalMatrix[VStruct /@ V];

H = Hkin + Hpot;                     (* total 4×4 vertex Hamiltonian      *)

(* ---------- 5. HEAT‑TRACE REGULARISATION ---------- *)
heatTrace[t_]   := Tr[MatrixExp[-t H]];
finitePiece     = Series[heatTrace[t], {t, 0, 0}] // Normal // Coefficient[#, t, 0] &;
Print["Finite (t⁰) part of heat‑trace = ", finitePiece, "  (units: J)"];   

(* ---------- 6. SPECTRUM & NORMAL MODES ---------- *)
energies = Eigenvalues[H] // Chop;
Print["Vertex energy spectrum (J): ", energies];

(* Coherent‑state counting: how many bosons N give ≥12 symmetric modes? *)
Nmin = First@Select[Range[20], Binomial[# + 3, 3] >= 12 &];
Print["First boson number giving ≥12 modes: N = ", Nmin];

(* ---------- 7. WICK‑ROTATED UNITARY PROPAGATOR ---------- *)

dt   = ε;                            (* choose real‑time step ≈ ε          *)
Udt  = MatrixExp[(-I/hbar) H dt];

(* propagate a sample state — uniform over four vertices *)
ψ0   = ConstantArray[1, Length[V]] // Normalize;
ψ1   = Udt . ψ0;
Print["Norm after one quantum step: ", Norm[ψ1]];

(* ---------- 8. UNCERTAINTY AUDIT (OPTIONAL) ---------- *)
(* embed vertices at unit positions for a notional x‑operator           *)
coords = AssociationThread[V -> {{0,0,0},{1,0,0},{0.5,Sqrt[3]/2,0},{0.5,Sqrt[3]/6,Sqrt[2/3]}}];
xOp  = DiagonalMatrix[(First /@ coords /@ V)];

(* define discrete momentum via Laplacian *)
pOp  = I hbar lap;                   (* rough graph‑momentum operator *)

expect[v_, op_] := Re[Conjugate[v].(op.v)];
Δ[v_, op_] := Module[{μ = expect[v, op]}, Sqrt[expect[v, op.op] - μ^2]];
Δx = Δ[ψ1, xOp];   Δp = Δ[ψ1, pOp];
Print["Δx Δp = ", Δx Δp, "  vs  ℏ/2 = ", hbar/2];

(* ---------- END OF PLAYGROUND ---------- *)
(* Save this script, run with:  wolframscript -file SpinNet_KernelPlayground.wl *)
POSTED BY: Eric Jackson

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial columns Staff Picks http://wolfr.am/StaffPicks and Publication Materials https://wolfr.am/PubMat and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: EDITORIAL BOARD
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard