← All work

Research tools · Python · Pyodide

Symmetry Forge

An experimental Python toolkit for generating small combinatorial structures, computing their symmetries and comparing how unusual they are.

What it does

  • Builds graphs, Steiner systems and relational structures, and computes automorphism groups and canonical labels by partition refinement and search.
  • Optional nauty and SAT back ends for larger cases, with a pure-Python default that runs anywhere.
  • Logged experiments from the Fano plane to a bounded attempt at constructions inspired by codes and the Monster group.

Bringing Python to the browser

The lab loads the unmodified package into Pyodide (CPython compiled to WebAssembly) inside a Web Worker. The page stays responsive, a search that runs too long is cancelled by replacing the worker, and nothing leaves the visitor's machine. The rotating hypercube on the homepage uses the same result: 384 symmetries, which the library computes in milliseconds.

What it is not

It is for reproducible exploration and teaching. Computing something is not proving it, and the samples are starting points rather than discoveries.

Status
Research prototype
License
MIT
Built with
Python, Pyodide, Web Workers