@enumeratio/modular
The modular group for compute-engine: S/T and L/R words, continued fractions, the Stern–Brocot tree, hyperbolic conjugacy classes as necklaces, and the Rademacher symbol. The group is a free product , so every element is a word and questions about the group become questions about words — the same combinatorics this catalogue already counts elsewhere. See the guide for the construction and the payoff: a conjugacy class as a knotted orbit, linked to the trefoil by a number you read off the word.
Declaring
ts
import { ComputeEngine } from "@cortex-js/compute-engine";
import { declareModular } from "@enumeratio/modular";
const ce = new ComputeEngine();
declareModular(ce);Heads
- The group —
ModularMatrix,ModularSTWord,ModularWord,ModularFromSTWord,ModularTrace,ModularKind - Continued fractions —
ContinuedFraction,ContinuedFractionK,Convergents,SternBrocotPath,FromSternBrocotPath,FareyNeighbours,PellSolution - Quadratic forms —
QuadraticForm,FormDiscriminant,FormAction,ReduceForm,IsReducedForm,FormCycle,ReducedForms,FormClasses,FormClassNumber,IsPrimitiveClass,IsIndefinite,IsQuadraticIrrational,FormAutomorph,FormRho - Conjugacy and Rademacher —
ModularClass,ModularClasses,RademacherSymbol,RademacherPhi,DedekindSum,LinkingWithTrefoil - Number theory —
KroneckerSymbol
Usage
ContinuedFraction(355/113) // [3, 7, 16] — pi's famous convergent
SternBrocotPath(5, 3) // "RLR"
RademacherSymbol("LRRRR") // 3 — four rights, one left
DedekindSum(4, 3) // 1/18
RademacherPhi(ModularMatrix(1, 7, 0, 1)) // 7 — Phi on T^n just countsNext
@enumeratio/braid builds its Lorenz braids directly on the S/T words here; the guide's linking-number payoff is the bridge between the two packages.
Pages
- Source:
packages/symbols/groups/modular - Depends on:
boxes,engine,residues,structures - In development, also:
config,manifest