homalg · LocalModuleOrder¶
4 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.
Worked example¶
The complete checked program Split rational primes and factor an ideal in the Gaussian integers uses this API directly.
# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Split rational primes and factor an ideal in the Gaussian integers."""
from noether import Q
from noether.commalg import PolynomialRing
from noether.numthy import NumberField
def main() -> None:
polynomials = PolynomialRing(Q, ["x"])
field = NumberField(polynomials.generator("x") ** 2 + 1, name="i")
order = field.maximal_order()
primes = order.prime_ideals_above(5)
assert len(primes) == 2
assert all(prime.norm() == 5 for prime in primes)
ideal = order.fractional_ideal([1 + field.generator])
assert ideal.norm() == 2
print(f"(5) splits into norms {[prime.norm() for prime in primes]}; N(1+i)={ideal.norm()}")
if __name__ == "__main__":
main()
Run it with .venv/bin/python examples/12_number_field_ideals.py.
homalg.LocalModuleOrder¶
A module-monomial order extending a local polynomial order.
noether::homalg::LocalModuleOrder · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, flint-core, groebner-kernel, m4rst, m4rste, module-core, resolution-kernel, sparla |
| GIL | attached / bounded |
| Semantic ID | noether/homalg/LocalModuleOrder@1 |
Executable usage: validation/unit/homalg/test_local_module.py:26 · validation/unit/homalg/test_local_module.py:32 · validation/unit/homalg/test_local_module.py:57 · validation/unit/homalg/test_local_module.py:63 · validation/unit/homalg/test_local_module.py:7
homalg.LocalModuleOrder.from_json¶
Deserialize and revalidate a LocalModuleOrder from typed JSON.
Detailed contract
Deserialize one exact module order.
noether::homalg::LocalModuleOrder::from_json · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, flint-core, groebner-kernel, m4rst, m4rste, module-core, resolution-kernel, sparla |
| GIL | attached / bounded |
| Semantic ID | noether/homalg/LocalModuleOrder@1 |
Executable usage: validation/unit/category/test_category.py:14 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106 · validation/unit/combin/test_graph_facade.py:25 · validation/unit/combinatorics/test_kashiwara_crystal.py:32
homalg.LocalModuleOrder.name¶
Return the name recorded by this LocalModuleOrder.
Detailed contract
Stable short name used by JSON and Python.
noether::homalg::LocalModuleOrder::name · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, flint-core, groebner-kernel, m4rst, m4rste, module-core, resolution-kernel, sparla |
| GIL | attached / bounded |
| Semantic ID | noether/homalg/LocalModuleOrder@1 |
Executable usage: examples/12_number_field_ideals.py:12 · validation/unit/commalg/test_polynomial_facade.py:345 · validation/unit/commalg/test_polynomial_facade.py:44 · validation/unit/commalg/test_polynomial_facade.py:61 · validation/unit/commalg/test_polynomial_facade.py:65 · validation/unit/commalg/test_polynomial_facade.py:72
homalg.LocalModuleOrder.to_json¶
Serialize this LocalModuleOrder to its canonical typed JSON representation.
Detailed contract
Serialize this exact module order.
noether::homalg::LocalModuleOrder::to_json · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, flint-core, groebner-kernel, m4rst, m4rste, module-core, resolution-kernel, sparla |
| GIL | attached / bounded |
| Semantic ID | noether/homalg/LocalModuleOrder@1 |
Executable usage: validation/unit/category/test_category.py:14 · validation/unit/category/test_category.py:15 · validation/unit/combin/test_acceptance_workload.py:30 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106