Noether¶
Noether is the deterministic computation layer for scientific mathematics: a typed Python package over a Rust engine and specialized exact-arithmetic kernels.
-
Construct explicit coefficient contexts, compute, and verify results.
-
Learn from 40 complete examples
Every displayed program is executed by the ordinary test suite.
-
Search signatures, guarantees, evidence, failures, and Rust declarations.
-
Rings, fields, maps, fixed precision, and mathematical identity.
A complete first calculation¶
This is not pseudocode. It is the checked source of Compute and verify a Bézout certificate over the integers.
# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Compute and verify a Bézout certificate over the integers."""
from noether import Z
def main() -> None:
identity = Z.extended_gcd(987_654_321, 123_456_789)
identity.verify(Z, 987_654_321, 123_456_789)
assert (
identity.coefficient_a * 987_654_321 + identity.coefficient_b * 123_456_789 == identity.gcd
)
print(identity)
if __name__ == "__main__":
main()
Start from a mathematical task¶
-
Solve exact systems over ℤ or ℤ/nℤ
-
Compute a Smith normal form
-
Construct and calculate in a finite field
-
Compute a Gröbner basis and Hilbert invariants
-
Work with a native permutation group
groups.PermutationGroup.from_generators
Run the complete example -
Compute persistent homology
topology.FilteredComplex.persistent_homology
Run the complete example -
Build an exact convex hull
-
Compute with a finite higher category
-
Compute exact homology of a chain complex
homalg.ChainComplex.homology_invariants
Run the complete example -
Form Kähler differentials
commalg.QuotientRing.kahler_differentials
Run the complete example -
Compute in an exterior algebra
Browse by domain¶
-
117 declarations
Finite strong Steiner categories, cells, Gray products, mapping categories, and categorical homology presentations. -
191 declarations
Finite graphs, trees, posets, matroids, tableaux, crystals, partitions, and symmetric functions. -
1486 declarations
Residue, polynomial, rational-function, quotient, and power-series rings together with ideals, schemes, local algebra, and intersection theory. -
51 declarations
Exact predicates, point clouds, triangulations, Euclidean balls, and exact rational polytopes. -
181 declarations
Permutation groups, actions, conjugacy, characters, representations, and finite-group cohomology entry points. -
638 declarations
Free and presented modules, exact submodules, chain complexes, homology, resolutions, and algebraic constructions on modules. -
370 declarations
Dense, sparse, local, and MPI-distributed exact linear algebra, normal forms, solution modules, and lattices. -
573 declarations
Integer arithmetic, finite and local fields, number fields, orders, ideals, and elliptic curves. -
148 declarations
Shared coefficient contexts, exact scalar values, validity, errors, and installed-surface discovery. -
302 declarations
Simplicial objects, filtrations, persistence, homology, cohomology operations, and symbolic Eilenberg–Mac Lane spaces.
For implementation details, open the architecture paper, the transport schemas, or the complete Rust rustdoc.