Skip to main content

ogdoad

CI crates.io PyPI docs.rs License: AGPL v3

Ogdoad is a pure-Rust library for Clifford algebras, quadratic forms, and related arithmetic over exact, finite, local, transfinite, and game-adjacent coefficient systems. Optional PyO3 bindings expose selected concrete backends without entering the generic math core.

The library supports degenerate metrics. In characteristic two it keeps the quadratic and polar data independent:

e_i^2             = q_i
e_i e_j + e_j e_i = b_ij

An optional upper-triangular a_ij records ordered contraction for a general bilinear metric. Generic product code obtains signs through Scalar::neg and does not special-case the characteristic.

Scope

A Clifford scalar is a commutative ring. Arbitrary partizan games form only an abelian group under disjunctive sum, so Ogdoad is not a Clifford algebra over all games. The scalar pillar includes field-like game subclasses such as finite nimbers and represented surcomplex numbers; genuinely game-theoretic constructions live in the separate games pillar.

Representation limits are part of the API:

  • Nimber(u128) is F_(2^128), not the algebraic closure of F_2.
  • Surreal stores finite-support Conway-normal-form expressions, not arbitrary surreal series.
  • valued and local models have explicit precision caps and do not silently claim exact field laws outside them.
  • Ordinal::nim_mul, nim_pow, checked_inv, and checked_sqrt preserve the supported Kummer-tower boundary through Option; the Scalar multiplication wrapper panics if that checked boundary is ignored.
  • fixed-width mathematical payloads use u128 or i128; usize is reserved for dimensions, indices, and ABI hooks.

Architecture

path role
src/scalar/ coefficient traits and exact, finite, valued, global, surreal, and ordinal backends
src/clifford/ metrics, blades, multivectors, products, versors, spinors, and geometric-algebra constructions
src/forms/ quadratic-form classification, Witt/Brauer theory, Springer and local--global arithmetic
src/forms/integral/ lattices, discriminant forms, codes, theta series, genera, neighbors, and Weyl bridges
src/games/ impartial, partizan, misere, loopy, thermographic, Hackenbush, and game-exterior constructions
src/py/ optional per-backend PyO3 bindings; scalar worlds never mix at runtime
src/linalg/ crate-private shared linear algebra
grundy/ unpublished expression-language workspace crate using only Ogdoad's public API
formal/ separately pinned Lean 4 development
writeups/ current mathematical papers and BibTeX sources

Public pillars re-export their children shallowly. Each source pillar has an AGENTS.md with its local invariants; docs/README.md indexes the current project documentation.

Use

Rust:

cargo add ogdoad
cargo run --example tour

Python 3.9 or newer:

python -m maturin build --profile dev -i python
python -m pip install --force-reinstall --no-deps target/wheels/ogdoad-*.whl
import ogdoad as og

# q and b are independent in characteristic two.
A = og.NimberAlgebra(q=[og.Nimber(2), og.Nimber(3)], b={(0, 1): 1})
e0, e1 = A.gen(0), A.gen(1)
assert e0 * e1 + e1 * e0 == A.scalar(og.Nimber(1))

# Exact finite-support surreal monomials.
S = og.SurrealAlgebra(q=[og.omega(), og.epsilon()])
assert (S.gen(0) * S.gen(1)) ** 2 == S.scalar(og.Surreal.from_int(-1))

The Python layer monomorphizes a documented slice of the Rust backends. It does not provide a runtime-tagged any-scalar algebra. Its typed report surface includes finite quadratic modules and Nikulin criteria, extraspecial and Heisenberg--Weil objects, function-field Brauer--Wall classes, Niemeier data, finite-field Witt decompositions, lexicode turning games, conformal-algebra accessors, and represented ordinal finite-subfield degrees. Python repr delegates to canonical Rust rendering where the core provides it.

Mathematical status

The papers under writeups/ form one current research suite:

paper result
transfinite_arf.tex classification over perfect Artin--Schreier-surjective characteristic-two fields and its full-nimber specialization
goldarf.tex quadratic-refinement realization in normal play, Gold specialization, Brown selector, and game-exterior obstruction
thermo_newton.tex thermic regrading under Norton multiplication and its separation from Newton tropicalization
linking_affine.tex proved reductions and exact remaining obstruction for isolated-dummy FIFO linking
excess.tex four-arm reduction and exact remaining selected-order problem for transfinite nim excess

The last two universal claims remain open. Their concise statements and sharp proof boundaries are in docs/OPEN.md. Lean checks named ingredients and several end-to-end finite constructions, not the open propositions; see formal/README.md.

Verification

cargo fmt --all --check
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --workspace
(cd formal && lake build --wfail)
npm ci
python scripts/check_writeups.py

docs/VERIFY.md records the optional Python-binding gates, exactness contracts, certificate boundary, and claim classes. Contributions should identify mathematical claims as standard/cited, implemented and tested, proved here, or open; see CONTRIBUTING.md.

Ogdoad is licensed under AGPL-3.0-or-later.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ogdoad-1.0.3.tar.gz (1.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ogdoad-1.0.3-cp39-abi3-win_amd64.whl (17.2 MB view details)

Uploaded CPython 3.9+Windows x86-64

ogdoad-1.0.3-cp39-abi3-musllinux_1_2_x86_64.whl (16.2 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

ogdoad-1.0.3-cp39-abi3-musllinux_1_2_aarch64.whl (15.1 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

ogdoad-1.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

ogdoad-1.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (14.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

ogdoad-1.0.3-cp39-abi3-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

ogdoad-1.0.3-cp39-abi3-macosx_10_12_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file ogdoad-1.0.3.tar.gz.

File metadata

  • Download URL: ogdoad-1.0.3.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ogdoad-1.0.3.tar.gz
Algorithm Hash digest
SHA256 1fbc0eca5396050b8aa0eeb8a0e7d1d5aebc2b697c206aeaa4c892f6fe128021
MD5 67c16cf2780255353bda4f6706b34bef
BLAKE2b-256 55f0d903b55658d9f94f36a16d09363b8b54decaf45b52aaaadbaf89de99b3f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ogdoad-1.0.3.tar.gz:

Publisher: release.yml on a9lim/ogdoad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ogdoad-1.0.3-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: ogdoad-1.0.3-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 17.2 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ogdoad-1.0.3-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 19ba2a3bca95a7045f2866174b79bab92ce7c232790341f58769774b0177381c
MD5 22200d27cea457f3fcb059ca794c3def
BLAKE2b-256 73989764ed65e71670c3a1650a7c326f570031bfc6dc3a8aaf58f868ec12c524

See more details on using hashes here.

Provenance

The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-win_amd64.whl:

Publisher: release.yml on a9lim/ogdoad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ogdoad-1.0.3-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ogdoad-1.0.3-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7226866a15337b38531a3e9c8e678c6b80ec3a75287b8421fa9de912443f4d7e
MD5 2de968c946dc04bed61d66e298de4139
BLAKE2b-256 5988b200784fdc789dd39d42206e0732007235a185ae2737e3cf8418e73cdb67

See more details on using hashes here.

Provenance

The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-musllinux_1_2_x86_64.whl:

Publisher: release.yml on a9lim/ogdoad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ogdoad-1.0.3-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ogdoad-1.0.3-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cc183ce833b923d6dc7488a17888e77d71a0dbcaf48092f0e6f6fb671284e9a1
MD5 dd9ba5c621425784d0a1f6ded5feafe8
BLAKE2b-256 914a7437217eddeebe50703135324d68502e1bb851af4386aa23d0ab62f3db24

See more details on using hashes here.

Provenance

The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-musllinux_1_2_aarch64.whl:

Publisher: release.yml on a9lim/ogdoad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ogdoad-1.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ogdoad-1.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be72623be93d20a8a1672ef1f869bbf549abe2901ce01aa6f86089d260f05e59
MD5 a879afeb268bceb7fe5d8d13a10e364b
BLAKE2b-256 20a9c5d34570b3bbc8e95eef2226d233c5ee0a594df69dd3cd41b4628d12afdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on a9lim/ogdoad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ogdoad-1.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ogdoad-1.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1d57bc26fd91ce825cc821d4d54e7a6ceaa4b38bb3140b65268bae2fbda040a8
MD5 d260e7d550d6cba96b6e491c053de1b8
BLAKE2b-256 95447795aebb0e2bea48668f2ea54d8131a6485748aa2ebe6af3ffa4c5f0339d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on a9lim/ogdoad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ogdoad-1.0.3-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ogdoad-1.0.3-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09319ac8124c6364d3b62527971052bd79f8f010d8d138eba484ad96311bf834
MD5 9611fd16276c7cdeda379983ea878979
BLAKE2b-256 99e34aa1d04ec26218a44a48856de87433fab373cc0b67c774b5cf50b27f63c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on a9lim/ogdoad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ogdoad-1.0.3-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ogdoad-1.0.3-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 df2f6c0bdb3eaef2b68a29f0a7881ba4400fe0a802a919ac14c26b8251fa1b9a
MD5 a7b3570fe3ca72f206d49d9d7fdb97f7
BLAKE2b-256 a26d6bdb003c4efb422f80e4425c880933e2e36359a47c7952aaf03e17042a43

See more details on using hashes here.

Provenance

The following attestation bundles were made for ogdoad-1.0.3-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on a9lim/ogdoad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.0.7

8 files

1.0.6

8 files

1.0.5

8 files

1.0.4

8 files

This release

1.0.3 This release

8 files

1.0.2

8 files

1.0.1

8 files

1.0.0

8 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page