# README
Fine Structures SDK
Official SDK for Fine Structures, a Standard Model unifying theory
Quick Start
With Go installed, build the go2x3
binary:
% make build
% cd cmd/go2x3 && ls learn
Explore or run any of the tutorial scripts:
% ./go2x3 learn/00-hello-electron.py
% ./go2x3 learn/01-foundations.py
% ./go2x3 learn/02-techniques.py
% ./go2x3 learn/03-standard-catalogs.py
% ./go2x3 learn/04-neutron-decay.py
% ./go2x3 learn/05-cycles-deep-dive.py
% ./go2x3 learn/06-lepton-non-universality.py
% ./go2x3 learn/07-factors-of-light.py
% ./go2x3 learn/08-catalog-inspect.py
Or skip the above and go directly to the learn scripts and their "gold" output.
Getting Started
This project is a library & demonstration toolkit for Fine Structures. Although lib2x3 is a pure Go library, gpython
is used to embed and expose it. This means scripting is easy — see for yourself in the first tutorial as you follow along in its output.
Releases
Version | Description |
---|---|
v1.2022.1 | - traces-based particle catalog index - conventional (non-canonic) vertex-based graph encoding - introducing early tricodes |
v1.2022.2 | - refactor graph canonicalization - refactor tricode console output |
v1.2022.3 | - graph ascii art - refactor tricode encoding |
v1.2023.1 | - refactor and cleanup |
v1.2023.2 | - edge traces factorization (WIP) |
v1.2023.3 | - edge traces factorization: all traces normalized |
v1.2023.4 | - switched to vertex group factorization |
v1.2024.1 | - rename and copy edits |
v1.2024.2 | - button up legacy, preps to move on |
v1.2025.1 | - TODO fancy primes db, Vn transition to steps of one-sixths? |
Hot Topics
-
Explore Traces normalization (to 0..1 non-linear transformations)
- Normalize each term by 1/Ci^2 or 3 and then sum (area and volume packing!)
- Maybe the odd TracesTerms pack into open loops while even TracesTerms pack into closed loops?
- Hopf mapping
- 3D volume packing of Trapezo-Rhombic Dodecahedra
- Rydberg constant
-
p-adic numbers & visualization:
-
Consider y8d:
- the odd cycles can only come from passing through one the two loops in this graph.
-
Factor Traces into "prime basis vector" (count of each prime dot prime[i])
-
There seems to be a clear path to "2-bit encodings" -- see GraphOp
- Graph builder walks thru all constructions.
- Because the walker is a canoinic walk, when an unwitnessed graph appears, assign it a new Traces ID (uint64).
- When a vertex length completes, for each Traces ID, choose the graph that most suitable canonic graph (most positive edge count?)
- The command list that builds the canonic graph can now be reduced to 2-bits per GraphOp (removing the VtxSlot operand) -- this now becomes the canonic graph encoding -- or the graph Traces ID itself.
- Browsing a TracesID could be visualls seeing all its variants
// A graph encoding
// Allows the canonic traces ID to be found for any graph (by using the db) Traces => CanonicTracesID ...
// Allows a canonic encoding for any encoding (without any computation) CanonicEncoding => CanonicTracesID ...
CanonicTracesID (uint64) => Traces, CanonicEncoding GraphEnc1 GraphEnc2 GraphEnc3 ... ...
if X is complete: for each edge socket: for each GraphOp type: apply the op to the socket
- For each GraphOp type, trying each graph op if possible.
Plan:
- emit all "pure" (positive) graphs in canonic order (see OpCode)