This notebook is a computational tour of Snyder’s 1947 noncommutative spacetime — the first concrete proposal of a quantised geometry that preserves Lorentz symmetry by promoting the commutator of position coordinates to a Lorentz generator times a single quantised length scale. The work is carried out symbolically in Wolfram Language using the NonCommutativeAlgebra functions: the abstract algebra is declared once (generators, commutation relations, deformation parameter), and the package’s normal-ordering and Gröbner-basis machinery is then exercised at a depth unreachable by hand. Internal consistency is established before any physics is read off — every Jacobi identity is checked, Lorentz covariance of the position commutator is recovered as a derived theorem rather than imposed, higher-order normal-ordered words and their Weyl-symmetric counterparts reduce cleanly to the ordered basis, and a candidate Casimir from the SO(4,1) embedding is verified by direct commutator tests. The momentum sector is then attached, the angular-momentum generator becomes a composite orbital operator, and Jacobi closure is rechecked for the combined algebra. From this verified machinery the physics emerges in one stroke: a Baker-Campbell-Hausdorff expansion of a plane-wave product yields the leading deformed momentum-addition law; the same expansion driver applied to κ-Minkowski exposes which features are generic to Lorentz-compatible deformations and which are Snyder-specific; the modified uncertainty relation produces a universal minimal length below which no measurement can localise a spacetime event; and dimensional analysis lifts a Fermi-LAT gamma-ray-burst time-of-flight observation to an upper bound on that fundamental scale already sitting eight decades above the Planck length.
Paper: Hartland S. Snyder (1947), Quantized Space-Time, Phys. Rev. 71, 38–41. https://doi.org/10.1103/PhysRev.71.38
Hartland Snyder's 1947 algebra remains the cleanest example of a noncommutative spacetime that is compatible with special relativity. The coordinates
μ
x
now satisfy
[
μ
x
,
ν
x
]=
2
a
μν
M
,[
μν
M
,
ρ
x
]=(
νρ
η
μ
x
-
μρ
η
ν
x
)
so that the commutator of two coordinates is itself a Lorentz generator. The length scale
a
plays the role of a quantised Planck length.
Define Minkowski metric
η=diag{1,-1,-1,-1}
(which is the common Particle Physics convention):
In[]:=
ClearAll["Global`*"]​​η[μ_,ν_]:=DiagonalMatrix[{1,-1,-1,-1}][[μ+1,ν+1]]​​Format[ℳ[inds__]]:=Superscript[ℳ,Row[{inds}]]​​Format[[inds__]]:=Superscript[,Row[{inds}]]​​Format[[inds__]]:=Superscript[,Row[{inds}]]
Antisymmetric Lorentz generator: only
μ<ν
are stored; others reduced by sign:
In[]:=
MGen[μ_,ν_]:=Which[μ==ν,0,μ<ν,ℳ[μ,ν],True,-ℳ[ν,μ]]
Define 10 generators: 4 coordinates, then 6 independent Lorentz generators:
In[]:=
gen=Join[Table[[μ],{μ,0,3}],Flatten@Table[ℳ[μ,ν],{μ,0,3},{ν,μ+1,3}]]
Out[]=
{
0

,
1

,
2

,
3

,
01
ℳ
,
02
ℳ
,
03
ℳ
,
12
ℳ
,
13
ℳ
,
23
ℳ
}
Define
[
μ
x
,
ν
x
]=
2
a
μν
M
canonical form with
ν
x
(larger) first:
In[]:=
xxRel=Flatten@Table[Commutator[[ν],[μ]]+Ia^2ℳ[μ,ν],{μ,0,3},{ν,μ+1,3}];
Define canonical form of
[
μν
M
,
ρ
x
]=(
νρ
η
μ
x
-
μρ
η
ν
x
)
:
In[]:=
mxRel=Flatten@Table[Commutator[ℳ[μ,ν],[ρ]]-I(η[ν,ρ][μ]-η[μ,ρ][ν]),{μ,0,3},{ν,μ+1,3},{ρ,0,3}];
Define
[
μν
M
,
ρσ
M
]=i(
νρ
η
μσ
M
-
νσ
η
μρ
M
-
μρ
η
νσ
M
+
μσ
η
νρ
M
)
In[]:=
mmPairs=Flatten[Table[{μ,ν},{μ,0,3},{ν,μ+1,3}],1];​​mmRel=Replace[Subsets[mmPairs,{2}],{{m_,n_},{r_,s_}}:>Commutator[ℳ[r,s],ℳ[m,n]]+I(η[n,r]MGen[m,s]-η[n,s]MGen[m,r]-η[m,r]MGen[n,s]+η[m,s]MGen[n,r]),{1}];
Concatenate the three relation lists into a single argument for NonCommutativeAlgebra.
In[]:=
snyderRel=Join[xxRel,mxRel,mmRel];
Build the abstract Snyder algebra: 10 generators, 45 commutation relations (6 xx, 24 Mx, 15 MM), one scalar parameter a.
In[]:=
alg=NonCommutativeAlgebra[<|"Generators"->{gen},"CommutationRelations"->snyderRel,"ScalarVariables"->{a}|>]
Out[]=
NonCommutativeAlgebra
Multiplication: a.**b.
Addition: a.+b.

A two-letter word is normal-ordered
ν
x
μ
x
with
ν>μ
by a single application of the first relation.
In[]:=
Table[NonCommutativeExpand[[ν]**[μ],alg],{μ,0,3},{ν,μ+1,3}]//Flatten
Out[]=
{
0

**
1

-
2
a
01
ℳ
,
0

**
2

-
2
a
02
ℳ
,
0

**
3

-
2
a
03
ℳ
,
1

**
2

-
2
a
12
ℳ
,
1

**
3

-
2
a
13
ℳ
,
2

**
3

-
2
a
23
ℳ
}
Check Snyder's triple-commutator identity
[
μ
x
,[
ν
x
,
ρ
x
]]=-
2
a
(
νμ
η
ρ
x
-
ρμ
η
ν
x
)
In[]:=
TableNonCommutativeExpandCommutator[[μ],Commutator[[ν],[ρ]]]+
2
a
(η[ν,μ][ρ]-η[ρ,μ][ν]),alg,{μ,0,3},{ν,0,3},{ρ,0,3}//Flatten//Union
Out[]=
{0}

Beyond the trivial: deeper algebraic checks

The two checks above are one-step. The cells below exercise the algebra at depth: full Jacobi closure, higher-order normal ordering, a Casimir search, an extended (Snyder + momentum) sector, the leading plane-wave / BCH correction, a side-by-side comparison with κ-Minkowski, and the minimal-length bound from the deformed Heisenberg algebra. Each is intractable by hand for the reason stated.

Closure / consistency checks

All four Jacobi identities are:
[x,[x,x]]
,
[x,[x,M]]
,
[x,[M,M]]
,
[M,[M,M]]
.
In[]:=
Jacobi[X_,Y_,Z_]:=Commutator[X,Commutator[Y,Z]]+Commutator[Y,Commutator[Z,X]]+Commutator[Z,Commutator[X,Y]];
Check Jacobi identities for
[x,[x,x]]
In[]:=
Table[NonCommutativeExpand[Jacobi[[μ],[ν],[ρ]],alg],​​{μ,0,3},{ν,0,3},{ρ,0,3}]//Flatten//Union
Out[]=
{0}
Check Jacobi identities for
[x,[x,M]]
In[]:=
Table[NonCommutativeExpand[Jacobi[[μ],[ν],MGen[ρ,σ]],alg],​​{μ,0,3},{ν,0,3},{ρ,0,3},{σ,0,3}]//Flatten//Union
Out[]=
{0}
Check Jacobi identities for
[x,[M,M]]
In[]:=
Table[NonCommutativeExpand[Jacobi[[μ],MGen[ν,ρ],MGen[σ,τ]],alg],​​{μ,0,3},{ν,0,3},{ρ,ν+1,3},{σ,0,3},{τ,σ+1,3}]//Flatten//Union
Out[]=
{0}
Check Jacobi identities for
[M,[M,M]]
In[]:=
Table[NonCommutativeExpand[Jacobi[MGen[α,β],MGen[μ,ν],MGen[ρ,σ]],alg],​​{α,0,3},{β,α+1,3},{μ,0,3},{ν,μ+1,3},{ρ,0,3},{σ,ρ+1,3}]//Flatten//Union
Out[]=
{0}
Lorentz covariance of the
[x,x]
relation as a theorem (not a definition):
[
ρσ
M
,[
μ
x
,
ν
x
]]
must equal

2
a
[
ρσ
M
,
μν
M
]
. The two sides invoke different relations of the algebra; their agreement is non-trivial.
In[]:=
lhsA2=Table[NonCommutativeExpand[Commutator[MGen[ρ,σ],Commutator[[μ],[ν]]],alg],​​{ρ,0,3},{σ,ρ+1,3},{μ,0,3},{ν,μ+1,3}];​​​​rhsA2=Table[Ia^2*I(η[σ,μ]MGen[ρ,ν]-η[σ,ν]MGen[ρ,μ]-η[ρ,μ]MGen[σ,ν]+η[ρ,ν]MGen[σ,μ]),​​{ρ,0,3},{σ,ρ+1,3},{μ,0,3},{ν,μ+1,3}];​​​​Flatten[lhsA2-rhsA2]//Union
Out[]=
{0}

Higher-order PBW reordering

Triple anti-ordered word
ρ
x
ν
x
μ
x
with
ρ>ν>μ
. Two transpositions; each one drops a Lorentz generator that itself must be commuted past surviving
x
factors. The output mixes
3
x
and
2
a
xM
pieces.
In[]:=
triples=Flatten[Table[NonCommutativeExpand[[ρ]**[ν]**[μ],alg],​​{μ,0,3},{ν,μ+1,3},{ρ,ν+1,3}],2]
Out[]=
{-
2
a
0

**
12
ℳ
-
2
a
1

**
02
ℳ
-
2
a
2

**
01
ℳ
+
0

**
1

**
2

,-
2
a
0

**
13
ℳ
-
2
a
1

**
03
ℳ
-
2
a
3

**
01
ℳ
+
0

**
1

**
3

,-
2
a
0

**
23
ℳ
-
2
a
2

**
03
ℳ
-
2
a
3

**
02
ℳ
+
0

**
2

**
3

,-
2
a
1

**
23
ℳ
-
2
a
2

**
13
ℳ
-
2
a
3

**
12
ℳ
+
1

**
2

**
3

}
Sanity check on the result:
μ<ν<ρ
in {0,1,2,3} gives
4!
3!1!
=4
distinct triples; the largest reduced expression has 47 leaves.
In[]:=
{Length[triples],Max[LeafCount/@triples]}
Out[]=
{4,47}
Quartic anti-ordered word
3
x
2
x
1
x
0
x
-- six transpositions, with
M
-terms generated in the first pass requiring further reordering against surviving
x
's. The standard "out of reach by hand" stress test for PBW.
In[]:=
quartic=NonCommutativeExpand[[3]**[2]**[1]**[0],alg]
Out[]=
-
4
a
01
ℳ
**
23
ℳ
-
4
a
02
ℳ
**
13
ℳ
-
4
a
03
ℳ
**
12
ℳ
-
2
a
0

**
1

**
23
ℳ
-
2
a
0

**
2

**
13
ℳ
-
2
a
0

**
3

**
12
ℳ
-
2
a
1

**
2

**
03
ℳ
-
2
a
1

**
3

**
02
ℳ
-
2
a
2

**
3

**
01
ℳ
+
0

**
1

**
2

**
3

Size of the fully-reduced quartic: 136 leaves and ~4 KB – orders of magnitude beyond what a hand calculation could track without errors.
In[]:=
{LeafCount[quartic],ByteCount[quartic]}
Out[]=
{136,4432}
Weyl symmetrization
W(
μ
x
ν
x
ρ
x
)=
1
6
∑
σ∈
S
3
σ(μ)
x
σ(ν)
x
σ(ρ)
x
. Reducing it to the ordered basis reads off the cubic Weyl symbol -- input to the symbol calculus / star product.
In[]:=
weylTriple[μ_,ν_,ρ_]:=NonCommutativeExpand[​​Total[NonCommutativeMultiply@@@Permutations[{[μ],[ν],[ρ]}]]/6,alg];​​weylTriple[1,2,3]
Out[]=
-
1
2

2
a
1

**
23
ℳ
-
1
2

2
a
2

**
13
ℳ
-
1
2

2
a
3

**
12
ℳ
+
1

**
2

**
3


Casimirs and the deformed centre

Lorentz quadratic Casimir
C
1
=
1
2
μν
M
M
μν
. Verify
[
C
1
,
ρσ
M
]=0
-- sixteen terms with four metric cancellations.
In[]:=
C1=Sum[η[μ,μ]η[ν,ν]MGen[μ,ν]**MGen[μ,ν],{μ,0,3},{ν,μ+1,3}];​​Table[NonCommutativeExpand[Commutator[C1,MGen[ρ,σ]],alg],{ρ,0,3},{σ,ρ+1,3}]//Flatten//Union
Out[]=
{0}
In Snyder space the Lorentz Casimir
C
1
is no longer a Casimir of the full algebra:
[M,x]≠0
forces
[
C
1
,
ρ
x
]≠0
. Quantify the residue.
In[]:=
Table[NonCommutativeExpand[Commutator[C1,[ρ]],alg],{ρ,0,3}]
Out[]=
{2
1

**
01
ℳ
+2
2

**
02
ℳ
+2
3

**
03
ℳ
+3
0

,2
0

**
01
ℳ
+2
2

**
12
ℳ
+2
3

**
13
ℳ
+3
1

,2
0

**
02
ℳ
-2
1

**
12
ℳ
+2
3

**
23
ℳ
+3
2

,2
0

**
03
ℳ
-2
1

**
13
ℳ
-2
2

**
23
ℳ
+3
3

}
2
x
≡
η
μν
μ
x
ν
x
is a Lorentz scalar (
[
2
x
,
ρσ
M
]=0
) but not a full Casimir:
[
2
x
,
ρ
x
]
picks up an
2
a
(xM+Mx)
piece. The residue is the prelude to the deformed Casimir.
In[]:=
xSq=Sum[η[μ,μ][μ]**[μ],{μ,0,3}]
Out[]=
0

**
0

-
1

**
1

-
2

**
2

-
3

**
3

Check
[
2
x
,
ρσ
M
]=0
:
2
x
is a Lorentz scalar.
In[]:=
Table[NonCommutativeExpand[Commutator[xSq,MGen[ρ,σ]],alg],{ρ,0,3},{σ,ρ+1,3}]//Flatten//Union
Out[]=
{0}
And
[
2
x
,
ρ
x
]
: expected non-zero with
2
a
(xM+Mx)
structure.
In[]:=
Table[NonCommutativeExpand[Commutator[xSq,[ρ]],alg],{ρ,0,3}]
Out[]=
{2
2
a
1

**
01
ℳ
+2
2
a
2

**
02
ℳ
+2
2
a
3

**
03
ℳ
+3
2
a
0

,2
2
a
0

**
01
ℳ
+2
2
a
2

**
12
ℳ
+2
2
a
3

**
13
ℳ
+3
2
a
1

,2
2
a
0

**
02
ℳ
-2
2
a
1

**
12
ℳ
+2
2
a
3

**
23
ℳ
+3
2
a
2

,2
2
a
0

**
03
ℳ
-2
2
a
1

**
13
ℳ
-2
2
a
2

**
23
ℳ
+3
2
a
3

}
Snyder Casimir conjecture from the SO(4,1) embedding (Maggiore 1993):
C
Sn
=
2
x
-
2
a
·
1
2
μν
M
M
μν
. If correct,
[
C
Sn
,
ρ
x
]=[
C
Sn
,
ρσ
M
]=0
-- a single computation that is essentially impossible by hand.

Add the momentum sector (Snyder's original construction)

Two generator groups: 4 momenta (smaller in monomial order) and 4 coordinates (larger). The grouping is required for the Gröbner-basis condition on the orbital-form [x,x] relation.

BCH for plane waves and momentum addition

κ-Minkowski for comparison

Build the algebra: 4 generators, 6 commutation relations, scalar parameter κ.
Apply the same BCH driver bch4 (defined above, truncated at fourth order) to read off the leading orders of κ-Minkowski's momentum-addition law. The full law is non-perturbative; the truncated series captures its qualitative shape.

Minimal length from the deformed Heisenberg relation

Visualize the bound. In units where a = 1, the bound saturates at Δx = 1, reached at Δp = 1.

CITE THIS NOTEBOOK

Snyder's Lorentz-covariant quantum spacetime​
by Mads Bahrami​
Wolfram Community, STAFF PICKS, May 5, 2026
​https://community.wolfram.com/groups/-/m/t/3712435