Skip to content

Docs ​

How to use enumeratio and notatio, package by package. Each package's docs live in the package itself (its README, and a docs/ folder for longer pages), and read the same here and on GitHub.

  • Guides — the walkthroughs of the mathematics, in reading order. Each one is a page of the package it introduces.
  • Symbol reference — every head, with examples that are also its tests. The reference overview lists the rest: collections, statistics, maps, domains, formats and components.
  • Explorations — fewer words, more dials: one function per page, every constant on a slider.
  • Worksheet and notebook — the two kinds of sheet. Command line: the same evaluation in a terminal, also live in the browser as a REPL and a command line.
  • Playground — every notatio component on its own page.

How the packages fit together, and which side of the enumeratio/notatio line each sits on, is on the wiki's Packages page.

Interface

@enumeratio/boxes
Wolfram-style box primitives: the presentation tree between an expression and its rendering, with MathML, LaTeX and text serialisers.
@enumeratio/cli
notatio on the command line: a Wolfram-style REPL and one-shot evaluator for compute-engine with the enumeratio symbols declared.
@enumeratio/components
The notatio-* custom elements (Lit): every symbol that draws or controls, built on @enumeratio/frontend.
Components, one at a time, Notebook, Worksheet, Input, Output, Cell, Verification, Manipulate, Controls, Environments, Terminal
@enumeratio/formats
A Wolfram-style format registry with Import/Export over MathJSON, Wolfram, TeX, code, and image formats.
@enumeratio/frontend
The base of the interface: the symbol-to-component map and its lowering, the AST as a vdom, the control contract, the arithmetic of scrubbing and playback, the pure SVG renderers. No UI framework.
@enumeratio/raster
Rasterize themeable SVG to PNG (Wolfram's Rasterize) via resvg -- no DOM, for Node consumers.

Arithmetic

@enumeratio/adeles
Adèles and idèles over Q for @cortex-js/compute-engine: profinite numbers (Ẑ and Q̂) known modulo a rational, adèles, idèles, profinite Fibonacci and the GL_n(Q̂) = GL_n(Ẑ)·GL_n⁺(Q) factorisation — a port of Hertogh's Sage `adeles`.
Adèles and Idèles
@enumeratio/complex-numerals
Numbers written in a complex base: radix expansions over the Gaussian and Eisenstein integers (twindragon, quater-imaginary, Gosper island), as lattices to draw.
Complex Bases
@enumeratio/number-theory
Number theory past Z/m for @cortex-js/compute-engine: Gaussian integers, rational reconstruction, Hermite normal form and integer valuations, all over bigints.
Quadratic Integers, Orders and Algebraic Integers
@enumeratio/numerals
Numeral-system extensions for @cortex-js/compute-engine: IntegerDigits/FromDigits over radix, mixed-radix, factoradic, balanced, negative, bijective, Zeckendorf, combinatorial and residue systems.
Numeral Systems, b-adic Numbers
@enumeratio/residues
Modular arithmetic for @cortex-js/compute-engine: residues, CRT, factoring, every r-th root of a residue (PowerModList), discrete logarithms, primitive roots, and ResidueClass — an element of Z/m as a value — all over bigints.

Combinatorics

@enumeratio/combinatorics
Combinatorial collections and carriers for @cortex-js/compute-engine, merged wholesale ahead of per-area carving (https://github.com/enumeratio/enumeratio/wiki/Speculative-Combinatorics-Layering-and-Plausible).
Glyphs, Ranking and Unranking
@enumeratio/polytope
Polytopes as face posets: the permutahedron, simplex and cross-polytope, with each face's dimension, barycentre and containment — and a projection into scene space.
Polytope
@enumeratio/statistics
Probability distributions and random processes, defined as Epsil expressions.

Algebras

@enumeratio/diagram
Diagram-algebra extensions for @cortex-js/compute-engine — the partition algebra and its subalgebras (Brauer, Temperley–Lieb, Motzkin, rook, symmetric group), whose bases are combinatorial diagrams.
Diagram Algebras
@enumeratio/geometric
The geometric-algebra layer over @enumeratio/hypercomplex: grade projection, the outer and regressive products, the contractions, the involutions and the Poincare dual.
@enumeratio/groupalgebra
Group-algebra extensions for @cortex-js/compute-engine: cyclic, dihedral and product groups, their group algebras, conjugacy classes and centres.
Group Algebras
@enumeratio/hecke
Iwahori-Hecke algebra extensions for @cortex-js/compute-engine: the q-deformation of the symmetric group algebra, with T-basis multiplication over Z[q].
Hecke Algebras
@enumeratio/hopf
Combinatorial Hopf algebra extensions for @cortex-js/compute-engine: NSym and QSym on compositions, with product, coproduct and antipode.
Combinatorial Hopf Algebras
@enumeratio/hypercomplex
Hypercomplex-number extensions for @cortex-js/compute-engine — multicomplex, split/perplex, dual and Clifford unit families as ordinary subscripted symbols.
Hypercomplex Algebras, Finite: ℤ/m and the places
@enumeratio/incidence
Incidence-algebra extensions for @cortex-js/compute-engine: finite posets, the zeta and Moebius functions, and Moebius inversion.
Incidence Algebras
@enumeratio/quiver
Path-algebra extensions for @cortex-js/compute-engine: quivers, their paths, and the path algebra kQ — finite-dimensional exactly when the quiver is acyclic.
Path Algebras

Groups, words and knots

@enumeratio/braid
Braid groups for @cortex-js/compute-engine: the Artin presentation, positive braids and their closures, the Burau representation, Alexander polynomials, torus knots, and the Lorenz braids of modular geodesics.
Knots and Braids, Torus Knots, The Lorenz Flow
@enumeratio/modular
The modular group PSL(2,Z) for @cortex-js/compute-engine: S/T and L/R words, continued fractions, the Stern-Brocot tree, hyperbolic conjugacy classes as necklaces, and the Rademacher symbol.
The Modular Group

Analysis

@enumeratio/analytic
Analytic / special-function extensions for @cortex-js/compute-engine — Hurwitz zeta and friends. Separate from the combinatorial collections.

Evaluation

@enumeratio/evaluation
Controlling evaluation over @cortex-js/compute-engine: cancellable evaluate, cooperative deadlines (TimeConstrained), MemoryConstrained (enforced only in the isolated evaluator), and VerificationTest. ./node adds a worker_threads isolated evaluator, a reusable worker pool, and a stateful session; ./browser adds the same over dedicated/SharedWorker; both kept out of the main entry.

Foundation

@enumeratio/ce-patches
Heads and fixes compute-engine would plausibly take, applied as patches until it ships them: kept apart from what is ours, so landing upstream is a deletion, not an excavation.
@enumeratio/config
The formatter and linter settings every enumeratio package checks against, so `vp check` agrees inside the monorepo and in a repository of its own.
@enumeratio/engine
Plumbing over @cortex-js/compute-engine: values read out of BoxedExpressions through checked accessors, operator wrapping and signature widening, Wolfram-style options, messages, deadlines.
@enumeratio/entry
The shape of a reference entry — the types every package's entries are written against, and the rules an implementations block has to satisfy. A leaf, so the packages that own the heads can type their entries without depending on the package that documents them.
@enumeratio/manifest
Every symbol head we know -- its packages, overloads and their types, parameter names, attributes and summary -- assembled at build time from the reference records and a bare compute-engine.
@enumeratio/plausible
Seeded, size-aware generators for Plausible, the property sampler over our value spaces (https://github.com/enumeratio/enumeratio/wiki/Plausible). A leaf with no workspace dependencies, so collections, reference and bench can all import it.
@enumeratio/structures
Mathematical structure as compute-engine protocols: orders, lattices, ticks, products. A generic head requires structure; a type conforms to it (https://github.com/enumeratio/enumeratio/wiki/Structures).

Tooling

@enumeratio/bench
Cross-system benchmarks: a catalogue of cases as data, native scripts generated per system through the oracle's emit, one measurement protocol, and per-run JSON reports. See https://github.com/enumeratio/enumeratio/wiki/Benchmarking.
@enumeratio/catalog
The enumeratio catalog as resolvable resources: lazy context namespaces, a search path, and the promotion ladder from namespaced to blessed to global.
@enumeratio/census
The whole namespace in one engine — what we declare, what it collides with, and what Wolfram can do that we cannot.
@enumeratio/oracle
Cross-check the reference catalogue against external systems: signature-level mappings, emitters, batch runners, and the blessed values a scan produces.
@enumeratio/perf-tools
Advisory perf-drift tooling for CI: runs each package's suite with the vitest JSON reporter, keeps a rolling history, and flags tests that drift past their trailing median. See tools/perf/README.md.
@enumeratio/reference
Structured, verified example data for compute-engine functions — the single source for reference pages and their tests.
@enumeratio/utils
Repo-wide guard tests, and the small Node helpers the tooling packages share.
@enumeratio/wolfram
MathJSON → Wolfram Language transpiler — a compute-engine compilation target, for cross-validating against a Wolfram kernel.