Skip to content

homalg · GradedModuleInvariants

16 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.

Worked example

The complete checked program Solve an underdetermined rational system and verify its affine space uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Solve an underdetermined rational system and verify its affine space."""

from noether import Q
from noether.linalg import Matrix, Vector


def main() -> None:
    matrix = Matrix.from_rows(Q, [[1, 2, 3], [2, 4, 6]])
    right_hand_side = Vector.from_values(Q, [1, 2])
    solutions = matrix.solve(right_hand_side)
    solutions.verify()
    assert matrix @ solutions.particular == right_hand_side
    assert solutions.dimension == 2
    print(f"particular={solutions.particular}; nullity={solutions.dimension}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/03_exact_linear_systems.py.

homalg.GradedModuleInvariants

Exact structural invariants with retained minimal-resolution and Hilbert evidence.

Detailed contract

Exact structural invariants with retained minimal-resolution and Hilbert evidence.

class GradedModuleInvariants

noether::homalg::GradedModuleInvariants · Direct Rust declaration

pub struct GradedModuleInvariants<C: Field> { /* private fields */ }
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/GradedModuleInvariants@1

Executable usage: validation/unit/homalg/test_module_facade.py:27 · validation/unit/homalg/test_module_facade.py:496 · validation/unit/homalg/test_module_facade.py:510

homalg.GradedModuleInvariants.betti_table

Return the betti table recorded by this GradedModuleInvariants.

Detailed contract

Exact multigraded Betti table of the retained resolution.

(self) -> GradedBettiTable

noether::homalg::GradedModuleInvariants::betti_table · Direct Rust declaration

pub fn betti_table(&self) -> &GradedBettiTable
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/GradedModuleInvariants@1

Executable usage: validation/unit/homalg/test_module_facade.py:501

homalg.GradedModuleInvariants.depth

Return the depth recorded by this GradedModuleInvariants.

Detailed contract

Depth certified by Auslander–Buchsbaum, or None for zero.

(self) -> int | None

noether::homalg::GradedModuleInvariants::depth · Direct Rust declaration

pub const fn depth(&self) -> Option<usize>
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/GradedModuleInvariants@1

Executable usage: validation/unit/homalg/test_module_facade.py:505 · validation/parity/combinatorics/test_tree_core_parity.py:17 · validation/parity/combinatorics/test_tree_core_parity.py:189 · validation/parity/combinatorics/test_tree_core_parity.py:194 · validation/parity/combinatorics/test_tree_core_parity.py:210 · validation/parity/combinatorics/test_tree_core_parity.py:265

homalg.GradedModuleInvariants.dimension

Return the dimension recorded by this GradedModuleInvariants.

Detailed contract

Krull dimension certified by Hilbert–Serre, or None for zero.

(self) -> int | None

noether::homalg::GradedModuleInvariants::dimension · Direct Rust declaration

pub const fn dimension(&self) -> Option<usize>
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/GradedModuleInvariants@1

Executable usage: examples/03_exact_linear_systems.py:15 · examples/03_exact_linear_systems.py:16 · examples/15_groebner_twisted_cubic.py:14 · examples/15_groebner_twisted_cubic.py:28 · examples/27_weight_characters.py:25 · examples/34_finite_group_cohomology.py:13

homalg.GradedModuleInvariants.from_json

Deserialize and revalidate a GradedModuleInvariants from typed JSON.

Detailed contract

Deserialize and independently revalidate every retained claim.

(cls, value: str) -> GradedModuleInvariants[_FieldModuleRing]

noether::homalg::GradedModuleInvariants::from_json · Direct Rust declaration

pub fn from_json(value: &str) -> Result<Self, NoetherError>where C: for<'de> Deserialize<'de>, C::Element: for<'de> Deserialize<'de>,
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/GradedModuleInvariants@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.GradedModuleInvariants.hilbert_series

Return the hilbert series recorded by this GradedModuleInvariants.

Detailed contract

Exact Hilbert series proving dimension.

(self) -> HilbertSeries

noether::homalg::GradedModuleInvariants::hilbert_series · Direct Rust declaration

pub fn hilbert_series(&self) -> &HilbertSeries
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/GradedModuleInvariants@1

Executable usage: validation/unit/commalg/test_monomial_ideal_facade.py:48 · validation/unit/commalg/test_monomial_ideal_facade.py:86 · validation/unit/commalg/test_polynomial_ideal_facade.py:204 · validation/unit/commalg/test_quotient_facade.py:125 · validation/unit/homalg/test_module_facade.py:261 · validation/unit/homalg/test_module_facade.py:502

homalg.GradedModuleInvariants.is_cohen_macaulay

Test whether this GradedModuleInvariants is cohen macaulay.

Detailed contract

Cohen–Macaulay predicate, or None for the zero module.

(self) -> bool | None

noether::homalg::GradedModuleInvariants::is_cohen_macaulay · Direct Rust declaration

pub const fn is_cohen_macaulay(&self) -> Option<bool>
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/GradedModuleInvariants@1

Executable usage: validation/unit/homalg/test_module_facade.py:507 · validation/bench/macaulay2_derived.py:489

homalg.GradedModuleInvariants.is_perfect

Test whether this GradedModuleInvariants is perfect.

Detailed contract

Perfect-module predicate, or None for the zero module.

(self) -> bool | None

noether::homalg::GradedModuleInvariants::is_perfect · Direct Rust declaration

pub const fn is_perfect(&self) -> Option<bool>
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/GradedModuleInvariants@1

Executable usage: validation/unit/groups/test_permutation_group_facade.py:31 · validation/unit/homalg/test_module_facade.py:508 · validation/parity/groups/test_perm_core_gap_parity.py:119 · validation/bench/macaulay2_derived.py:490 · validation/bench/magma_release.py:1546 · validation/corpus/groups/degree-four-permutation-actions.py:27

homalg.GradedModuleInvariants.module

Return the module recorded by this GradedModuleInvariants.

Detailed contract

Standard-graded module whose invariants were certified.

(self) -> PresentedModule[_FieldModuleRing]

noether::homalg::GradedModuleInvariants::module · Direct Rust declaration

pub fn module(&self) -> &PresentedModule<PolynomialRing<C>>
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/GradedModuleInvariants@1

Executable usage: examples/30_modules_and_resolutions.py:3 · examples/30_modules_and_resolutions.py:51 · examples/40_exterior_algebra.py:13 · examples/40_exterior_algebra.py:14 · examples/40_exterior_algebra.py:20 · examples/40_exterior_algebra.py:21

homalg.GradedModuleInvariants.order

Return the order recorded by this GradedModuleInvariants.

Detailed contract

Module-monomial order used for the exact construction.

(self) -> ModuleMonomialOrder

noether::homalg::GradedModuleInvariants::order · Direct Rust declaration

pub fn order(&self) -> &ModuleMonomialOrder
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/GradedModuleInvariants@1

Executable usage: examples/11_qadic_witt_vectors.py:14 · examples/12_number_field_ideals.py:13 · examples/12_number_field_ideals.py:14 · examples/12_number_field_ideals.py:17 · examples/15_groebner_twisted_cubic.py:18 · examples/19_permutation_groups.py:13

homalg.GradedModuleInvariants.projective_dimension

Return the projective dimension recorded by this GradedModuleInvariants.

Detailed contract

Projective dimension, or None for the zero module.

(self) -> int | None

noether::homalg::GradedModuleInvariants::projective_dimension · Direct Rust declaration

pub const fn projective_dimension(&self) -> Option<usize>
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/GradedModuleInvariants@1

Executable usage: validation/unit/homalg/test_module_facade.py:501 · validation/unit/homalg/test_module_facade.py:503 · validation/unit/homalg/test_module_facade.py:860 · validation/unit/homalg/test_module_facade.py:874 · validation/bench/macaulay2_derived.py:485

homalg.GradedModuleInvariants.regularity

Return the regularity recorded by this GradedModuleInvariants.

Detailed contract

Castelnuovo–Mumford regularity, or None for the zero module.

(self) -> int | None

noether::homalg::GradedModuleInvariants::regularity · Direct Rust declaration

pub fn regularity(&self) -> Option<&Integer>
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/GradedModuleInvariants@1

Executable usage: validation/unit/homalg/test_module_facade.py:504 · validation/bench/macaulay2_derived.py:306 · validation/bench/macaulay2_derived.py:316 · validation/bench/macaulay2_derived.py:486 · validation/bench/macaulay2_derived.py:769

homalg.GradedModuleInvariants.resolution

Return the resolution recorded by this GradedModuleInvariants.

Detailed contract

Complete minimal resolution proving the homological invariants.

(self) -> FreeResolution[_FieldModuleRing]

noether::homalg::GradedModuleInvariants::resolution · Direct Rust declaration

pub fn resolution(&self) -> &FreeResolution<PolynomialRing<C>>
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/GradedModuleInvariants@1

Executable usage: examples/30_modules_and_resolutions.py:3 · examples/30_modules_and_resolutions.py:42 · examples/30_modules_and_resolutions.py:43 · examples/30_modules_and_resolutions.py:44 · validation/unit/commalg/test_polynomial_ideal_facade.py:570 · validation/unit/homalg/test_module_facade.py:351

homalg.GradedModuleInvariants.theorem

Return the theorem recorded by this GradedModuleInvariants.

Detailed contract

Stable theorem label for orchestration and display.

(self) -> str

noether::homalg::GradedModuleInvariants::theorem · Direct Rust declaration

pub const fn theorem(&self) -> &'static str
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/GradedModuleInvariants@1

Executable usage: examples/13_chinese_remainder_theorem.py:3 · validation/unit/commalg/test_polynomial_ideal_facade.py:1150 · validation/unit/commalg/test_polynomial_ideal_facade.py:507 · validation/unit/commalg/test_polynomial_ideal_facade.py:583 · validation/unit/commalg/test_polynomial_ideal_facade.py:659 · validation/unit/homalg/test_module_facade.py:509

homalg.GradedModuleInvariants.to_json

Serialize this GradedModuleInvariants to its canonical typed JSON representation.

Detailed contract

Serialize the module, exact evidence, and theorem-derived values.

(self) -> str

noether::homalg::GradedModuleInvariants::to_json · Direct Rust declaration

pub fn to_json(&self) -> Result<String, NoetherError>where C: Serialize, C::Element: Serialize,
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/GradedModuleInvariants@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

homalg.GradedModuleInvariants.verify

Replay and verify the mathematical evidence carried by this GradedModuleInvariants.

Detailed contract

Independently replay every retained resolution, Betti, Hilbert, and theorem-derived claim.

(self) -> None

noether::homalg::GradedModuleInvariants::verify · Direct Rust declaration

pub fn verify(&self) -> Result<(), ModuleInvariantError>
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/GradedModuleInvariants@1

Executable usage: examples/01_bezout_certificates.py:10 · examples/01_bezout_certificates.py:3 · examples/03_exact_linear_systems.py:13 · examples/03_exact_linear_systems.py:3 · examples/04_smith_normal_form.py:12 · examples/06_shortest_lattice_vectors.py:12