Skip to content

commalg · BlowUp

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

Worked example

The complete checked program Build and verify an isomorphism between two presentations of F_25 uses this API directly.

# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Build and verify an isomorphism between two presentations of F_25."""

from noether.numthy import FiniteField


def main() -> None:
    source = FiniteField.extension(5, 2)
    target = FiniteField.with_modulus(5, [2, 0, 1])
    isomorphism = source.isomorphism_to(target)
    isomorphism.verify()
    value = source.element_from_coefficients([3, 2])
    assert isomorphism.apply_inverse(isomorphism(value)) == value
    print(f"a maps to {isomorphism.generator_image}")


if __name__ == "__main__":
    main()

Run it with .venv/bin/python examples/09_finite_field_isomorphisms.py.

commalg.BlowUp

Typed point blow-up with all canonical exceptional-neighbourhood charts.

class BlowUp

noether::commalg::BlowUp · Direct Rust declaration

pub struct BlowUp<R: Field> { /* private fields */ }
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@1

Executable usage: validation/unit/commalg/test_scheme_facade.py:10 · validation/unit/commalg/test_scheme_facade.py:266 · validation/unit/commalg/test_scheme_facade.py:272

commalg.BlowUp.center

Return the center recorded by this BlowUp.

Detailed contract

Rational point used as the center.

(self) -> SchemePoint

noether::commalg::BlowUp::center · Direct Rust declaration

pub fn center(&self) -> &SchemePoint<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@1

Executable usage: validation/unit/combin/test_graph_facade.py:102 · validation/unit/commalg/test_acceptance_workload.py:104 · validation/unit/commalg/test_acceptance_workload.py:112 · validation/unit/commalg/test_acceptance_workload.py:96 · validation/unit/commalg/test_acceptance_workload.py:98 · validation/unit/commalg/test_scheme_facade.py:223

commalg.BlowUp.charts

Return the charts recorded by this BlowUp.

Detailed contract

Canonically ordered point-blow-up charts, one per translated local coordinate.

(self) -> list[BlowUpChart[C]]

noether::commalg::BlowUp::charts · Direct Rust declaration

pub fn charts(&self) -> &[BlowUpChart<R>]
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@1

Executable usage: validation/unit/commalg/test_acceptance_workload.py:100 · validation/unit/commalg/test_acceptance_workload.py:101 · validation/unit/commalg/test_acceptance_workload.py:105 · validation/unit/commalg/test_scheme_facade.py:230 · validation/unit/commalg/test_scheme_facade.py:233 · validation/unit/commalg/test_scheme_facade.py:270

commalg.BlowUp.from_json

Deserialize and revalidate a BlowUp from typed JSON.

Detailed contract

Deserialize and reconstruct the blow-up from its source and center.

(cls, value: str) -> BlowUp[FiniteField]

noether::commalg::BlowUp::from_json · Direct Rust declaration

pub fn from_json(value: &str) -> Result<Self, NoetherError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@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

commalg.BlowUp.local_source

Return the local source recorded by this BlowUp.

Detailed contract

Source restricted to translated affine coordinates centered at the point.

(self) -> Scheme[C]

noether::commalg::BlowUp::local_source · Direct Rust declaration

pub fn local_source(&self) -> &Scheme<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@1

Executable usage: validation/unit/commalg/test_scheme_facade.py:227

commalg.BlowUp.source

Return the source recorded by this BlowUp.

Detailed contract

Scheme being blown up.

(self) -> Scheme[C]

noether::commalg::BlowUp::source · Direct Rust declaration

pub fn source(&self) -> &Scheme<R>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@1

Executable usage: examples/09_finite_field_isomorphisms.py:11 · examples/09_finite_field_isomorphisms.py:13 · examples/09_finite_field_isomorphisms.py:9 · examples/30_modules_and_resolutions.py:34 · examples/30_modules_and_resolutions.py:37 · validation/unit/category/test_acceptance_workload.py:25

commalg.BlowUp.source_affine_chart

Return the source affine chart recorded by this BlowUp.

Detailed contract

Dehomogenizing coordinate for a projective source; None for an affine source.

(self) -> int | None

noether::commalg::BlowUp::source_affine_chart · Direct Rust declaration

pub fn source_affine_chart(&self) -> Option<usize>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@1

Executable usage: validation/unit/commalg/test_scheme_facade.py:229

commalg.BlowUp.to_json

Serialize this BlowUp to its canonical typed JSON representation.

Detailed contract

Serialize every chart and its verification evidence.

(self) -> str

noether::commalg::BlowUp::to_json · Direct Rust declaration

pub fn to_json(&self) -> Result<String, NoetherError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@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

commalg.BlowUp.verify

Replay and verify the mathematical evidence carried by this BlowUp.

Detailed contract

Reconstruct every chart and recheck total/weak/strict/exceptional evidence.

(self) -> None

noether::commalg::BlowUp::verify · Direct Rust declaration

pub fn verify(&self) -> Result<(), GeometryError>
Contract Value
Guarantee checked deterministic result
Determinism deterministic
Availability default CPU build
Domain implementation crates noether, flint-core, groebner-kernel, module-core, poly-core, resolution-kernel
GIL attached / bounded
Semantic ID noether/commalg/BlowUp@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