Skip to content

homalg · PresentedModulePowerHomomorphism

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

Worked example

The complete checked program Decompose a polynomial by a nonstandard positive grading uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Decompose a polynomial by a nonstandard positive grading."""

from noether import Z
from noether.commalg import PolynomialRing, WeightedGrading


def main() -> None:
    ring = PolynomialRing(Z, ["x", "y", "z"], grading=WeightedGrading([1, 2, 3]))
    x, y, z = ring.generators()
    sparse = ring.from_terms([([0, 0, 0], 1), ([2, 0, 0], 1), ([0, 1, 0], 1)])
    polynomial = sparse + z
    assert sparse * (x + y) == (1 + x**2 + y) * (x + y)
    components = polynomial.homogeneous_components()
    assert [degree for degree, _ in components] == [0, 2, 3]
    assert x**2 + y == components[1][1]
    print(f"weighted homogeneous degrees: {[degree for degree, _ in components]}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/14_weighted_polynomials.py.

homalg.PresentedModulePowerHomomorphism

A replay-verifiable induced map between symmetric or exterior presentations.

class PresentedModulePowerHomomorphism

noether::homalg::PresentedModulePowerHomomorphism · Direct Rust declaration

pub struct PresentedModulePowerHomomorphism<R: CommutativeRing> { /* 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/PresentedModulePowerHomomorphism@1

Executable usage: validation/unit/homalg/test_exterior_algebra.py:28 · validation/unit/homalg/test_exterior_algebra.py:294 · validation/unit/homalg/test_exterior_algebra.py:300 · validation/unit/homalg/test_exterior_algebra.py:333 · validation/unit/homalg/test_exterior_algebra.py:339 · validation/unit/homalg/test_exterior_algebra.py:408

homalg.PresentedModulePowerHomomorphism.compose

Compose compatible presented induced maps with verified relation lifts.

Detailed contract

Compose two checked presented power maps of the same kind and degree.

(self, inner: PresentedModulePowerHomomorphism[_BasicModuleRing]) -> PresentedModulePowerHomomorphism[_BasicModuleRing]

noether::homalg::PresentedModulePowerHomomorphism::compose · Direct Rust declaration

pub fn compose(&self, inner: &Self) -> Result<Self, ModulePowerError>
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 released
Semantic ID noether/homalg/PresentedModulePowerHomomorphism@1

Executable usage: validation/unit/commalg/test_context_tower_workload.py:3 · validation/unit/commalg/test_polynomial_facade.py:200 · validation/unit/commalg/test_power_series_facade.py:151 · validation/unit/commalg/test_power_series_facade.py:245 · validation/unit/commalg/test_power_series_facade.py:248 · validation/unit/groups/test_permutation_group_facade.py:41

homalg.PresentedModulePowerHomomorphism.degree

Homogeneous power degree.

Detailed contract

Nonnegative power degree.

(self) -> int

noether::homalg::PresentedModulePowerHomomorphism::degree · Direct Rust declaration

pub const fn degree(&self) -> 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/PresentedModulePowerHomomorphism@1

Executable usage: examples/14_weighted_polynomials.py:16 · examples/14_weighted_polynomials.py:18 · examples/15_groebner_twisted_cubic.py:15 · examples/15_groebner_twisted_cubic.py:28 · examples/31_local_fields_and_precision.py:37 · examples/33_simplicial_cohomology_operations.py:26

homalg.PresentedModulePowerHomomorphism.from_json

Restore and replay-verify presented-map evidence from typed JSON.

Detailed contract

Deserialize and replay the complete presented power map.

(cls, value: str) -> PresentedModulePowerHomomorphism[_BasicModuleRing]

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

pub fn from_json(value: &str) -> Result<Self, NoetherError>where R: for<'de> Deserialize<'de>, R::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 released
Semantic ID noether/homalg/PresentedModulePowerHomomorphism@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.PresentedModulePowerHomomorphism.induced

Induced map with generator and relation lifts.

Detailed contract

Checked induced map between the two power presentations.

(self) -> PresentedModuleHomomorphism[_BasicModuleRing]

noether::homalg::PresentedModulePowerHomomorphism::induced · Direct Rust declaration

pub fn induced(&self) -> &PresentedModuleHomomorphism<R>
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/PresentedModulePowerHomomorphism@1

Executable usage: examples/40_exterior_algebra.py:42 · validation/unit/commalg/test_rational_function_facade.py:123 · validation/unit/commalg/test_rational_function_facade.py:127 · validation/unit/commalg/test_rational_function_facade.py:128 · validation/unit/commalg/test_rational_function_facade.py:129 · validation/unit/commalg/test_rational_function_facade.py:130

homalg.PresentedModulePowerHomomorphism.kind

Whether this is symmetric- or exterior-power evidence.

Detailed contract

Symmetric or exterior construction.

(self) -> ModulePowerKind

noether::homalg::PresentedModulePowerHomomorphism::kind · Direct Rust declaration

pub const fn kind(&self) -> ModulePowerKind
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/PresentedModulePowerHomomorphism@1

Executable usage: validation/unit/combinatorics/test_poset.py:95 · validation/unit/commalg/test_curve_facade.py:137 · validation/unit/commalg/test_curve_facade.py:43 · validation/unit/commalg/test_curve_facade.py:44 · validation/unit/commalg/test_curve_facade.py:45 · validation/unit/commalg/test_curve_facade.py:80

homalg.PresentedModulePowerHomomorphism.source_map

Presented map from which this induced evidence was computed.

Detailed contract

Original checked map of presented modules.

(self) -> PresentedModuleHomomorphism[_BasicModuleRing]

noether::homalg::PresentedModulePowerHomomorphism::source_map · Direct Rust declaration

pub fn source_map(&self) -> &PresentedModuleHomomorphism<R>
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/PresentedModulePowerHomomorphism@1

homalg.PresentedModulePowerHomomorphism.source_power

Verified source power presentation.

Detailed contract

Canonical power presentation of the source.

(self) -> PresentedModulePower[_BasicModuleRing]

noether::homalg::PresentedModulePowerHomomorphism::source_power · Direct Rust declaration

pub fn source_power(&self) -> &PresentedModulePower<R>
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/PresentedModulePowerHomomorphism@1

Executable usage: validation/unit/homalg/test_exterior_algebra.py:167 · validation/unit/homalg/test_exterior_algebra.py:248 · validation/unit/homalg/test_exterior_algebra.py:291 · validation/unit/homalg/test_exterior_algebra.py:329 · validation/unit/homalg/test_exterior_algebra.py:414

homalg.PresentedModulePowerHomomorphism.target_power

Verified target power presentation.

Detailed contract

Canonical power presentation of the target.

(self) -> PresentedModulePower[_BasicModuleRing]

noether::homalg::PresentedModulePowerHomomorphism::target_power · Direct Rust declaration

pub fn target_power(&self) -> &PresentedModulePower<R>
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/PresentedModulePowerHomomorphism@1

Executable usage: validation/unit/homalg/test_exterior_algebra.py:168 · validation/unit/homalg/test_exterior_algebra.py:330

homalg.PresentedModulePowerHomomorphism.to_json

Serialize replay-verifiable evidence as faithful typed JSON.

Detailed contract

Serialize the retained presentations and commuting-square evidence.

(self) -> str

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

pub fn to_json(&self) -> Result<String, NoetherError>where R: Serialize, R::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 released
Semantic ID noether/homalg/PresentedModulePowerHomomorphism@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.PresentedModulePowerHomomorphism.verify

Replay power presentations, relation lifts, and the commuting square.

Detailed contract

Replay the construction and recheck the retained relation square.

(self) -> None

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

pub fn verify(&self) -> Result<(), ModulePowerError>
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 released
Semantic ID noether/homalg/PresentedModulePowerHomomorphism@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