commalg · KahlerDifferentials¶
13 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.
Worked example¶
The complete checked program Differentiate exactly and distinguish a cusp's smooth and singular points uses this API directly.
# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Differentiate exactly and distinguish a cusp's smooth and singular points."""
from noether import Q
from noether.commalg import KahlerDifferentials, PolynomialRing
def main() -> None:
ring = PolynomialRing(Q, ["x", "y"])
x, y = ring.generators()
relation = y**2 - x**3
cusp = ring.quotient(ring.ideal([relation]))
omega = cusp.kahler_differentials()
assert isinstance(omega, KahlerDifferentials)
dx = omega.differentiate(cusp(x))
dy = omega.differentiate(cusp(y))
assert omega.differentiate(cusp(x * y)) == dx * cusp(y) + dy * cusp(x)
assert omega.differentiate(cusp(relation)).is_zero()
singular = cusp.cotangent_space_at([0, 0])
smooth = cusp.cotangent_space_at([1, 1])
assert singular.embedding_dimension == 2
assert smooth.embedding_dimension == 1
assert singular.presentation_matrix == singular.evaluated_jacobian.transpose()
complex = cusp.cotangent_complex()
assert complex.codimension == 1
assert (complex.amplitude.lowest_degree, complex.amplitude.highest_degree) == (-1, 0)
assert complex.hypothesis.equation_count == 1
complex.verify()
print(
"cusp cotangent dimensions: "
f"singular={singular.embedding_dimension}, smooth={smooth.embedding_dimension}; "
"complete-intersection amplitude=[-1,0]"
)
if __name__ == "__main__":
main()
Run it with .venv/bin/python examples/39_kahler_differentials.py.
commalg.KahlerDifferentials¶
Exact module of Kähler differentials of an affine algebra over its field.
noether::commalg::KahlerDifferentials · Direct Rust declaration
| 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/KahlerDifferentials@1 |
Executable usage: examples/39_kahler_differentials.py:16 · examples/39_kahler_differentials.py:6 · validation/unit/commalg/test_kahler_differentials.py:139 · validation/unit/commalg/test_kahler_differentials.py:20 · validation/unit/commalg/test_kahler_differentials.py:33
commalg.KahlerDifferentials.algebra¶
The affine algebra whose relative differentials this module represents.
Detailed contract
Exact affine-algebra coefficient context.
noether::commalg::KahlerDifferentials::algebra · Direct Rust declaration
| 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/KahlerDifferentials@1 |
Executable usage: examples/40_exterior_algebra.py:3 · examples/distributed/f2_linear_algebra.py:3 · validation/unit/commalg/test_acceptance_workload.py:3 · validation/unit/commalg/test_construction_algebras.py:41 · validation/unit/commalg/test_construction_algebras.py:71 · validation/unit/commalg/test_construction_algebras.py:72
commalg.KahlerDifferentials.ambient_generator_count¶
Number of ambient coordinate differentials dx_i.
Detailed contract
Number of ambient coordinate differentials dx_i.
noether::commalg::KahlerDifferentials::ambient_generator_count · Direct Rust declaration
| 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/KahlerDifferentials@1 |
Executable usage: validation/unit/commalg/test_kahler_differentials.py:35
commalg.KahlerDifferentials.conormal_evidence¶
Replayable conormal/Jacobian evidence for this presentation.
Detailed contract
Exact conormal and Jacobian evidence behind the presentation.
noether::commalg::KahlerDifferentials::conormal_evidence · Direct Rust declaration
| 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/KahlerDifferentials@1 |
Executable usage: validation/unit/commalg/test_kahler_differentials.py:114 · validation/unit/commalg/test_kahler_differentials.py:62
commalg.KahlerDifferentials.cotangent_complex¶
Construct the verified two-term cotangent complex for a complete intersection.
Detailed contract
The exact two-term cotangent complex for the canonical equations when their count equals the exactly computed codimension. Polynomial rings over fields are Cohen–Macaulay, so a proper ideal generated by codimension elements is a regular sequence. Outside that proved complete-intersection lane this method fails closed.
noether::commalg::KahlerDifferentials::cotangent_complex · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/KahlerDifferentials@1 |
Executable usage: examples/39_kahler_differentials.py:28 · validation/unit/commalg/test_kahler_differentials.py:146 · validation/unit/commalg/test_kahler_differentials.py:92 · validation/unit/infra/test_public_api_index.py:243
commalg.KahlerDifferentials.cotangent_space_at¶
Construct the exact cotangent fiber at a checked field-valued point.
Detailed contract
Fiber Omega_{A/C} tensor_A C at an explicit rational or finite-field point. The point is checked against every defining equation first.
noether::commalg::KahlerDifferentials::cotangent_space_at · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/KahlerDifferentials@1 |
Executable usage: examples/39_kahler_differentials.py:22 · examples/39_kahler_differentials.py:23 · validation/unit/commalg/test_kahler_differentials.py:115 · validation/unit/commalg/test_kahler_differentials.py:132 · validation/unit/commalg/test_kahler_differentials.py:134 · validation/unit/commalg/test_kahler_differentials.py:144
commalg.KahlerDifferentials.differentiate¶
Apply the universal derivation to a class in the affine algebra.
Detailed contract
Universal derivation of one quotient element.
noether::commalg::KahlerDifferentials::differentiate · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/KahlerDifferentials@1 |
Executable usage: examples/39_kahler_differentials.py:17 · examples/39_kahler_differentials.py:18 · examples/39_kahler_differentials.py:19 · examples/39_kahler_differentials.py:20 · validation/unit/commalg/test_kahler_differentials.py:113 · validation/unit/commalg/test_kahler_differentials.py:142
commalg.KahlerDifferentials.differentiate_polynomial¶
Differentiate an ambient polynomial, then descend to the quotient.
Detailed contract
Derive an ambient polynomial and project the result to Omega_{A/C}.
noether::commalg::KahlerDifferentials::differentiate_polynomial · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/KahlerDifferentials@1 |
Executable usage: validation/unit/commalg/test_kahler_differentials.py:137 · validation/unit/commalg/test_kahler_differentials.py:178 · validation/unit/commalg/test_kahler_differentials.py:179 · validation/unit/commalg/test_kahler_differentials.py:181 · validation/unit/commalg/test_kahler_differentials.py:182 · validation/unit/commalg/test_kahler_differentials.py:31
commalg.KahlerDifferentials.from_json¶
Deserialize and verify an exact construction over Q or a finite field.
Detailed contract
Deserialize and exactly reconstruct Omega_{A/C}.
noether::commalg::KahlerDifferentials::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, module-core, poly-core, resolution-kernel |
| GIL | released |
| Semantic ID | noether/commalg/KahlerDifferentials@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.KahlerDifferentials.module¶
The exact finitely presented A-module Omega_{A/k}.
Detailed contract
Retained finite presentation of Omega_{A/C}.
noether::commalg::KahlerDifferentials::module · Direct Rust declaration
| 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/KahlerDifferentials@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
commalg.KahlerDifferentials.to_json¶
Serialize the complete exact construction as canonical typed JSON.
Detailed contract
Serialize the affine algebra; deserialization reconstructs and reverifies all conormal and module-Gröbner evidence.
noether::commalg::KahlerDifferentials::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, module-core, poly-core, resolution-kernel |
| GIL | attached / bounded |
| Semantic ID | noether/commalg/KahlerDifferentials@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.KahlerDifferentials.verify¶
Replay all context, conormal, and presentation checks.
Detailed contract
Recompute the conormal presentation, module basis, and the fact that every chosen defining equation derives to zero in the cokernel.
noether::commalg::KahlerDifferentials::verify · Direct Rust declaration
| 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 | released |
| Semantic ID | noether/commalg/KahlerDifferentials@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
commalg.KahlerDifferentials.zero¶
The zero differential in this module.
Detailed contract
The zero differential class.
noether::commalg::KahlerDifferentials::zero · Direct Rust declaration
| 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/KahlerDifferentials@1 |
Executable usage: examples/08_finite_field_extensions.py:11 · examples/10_padic_hensel_lifting.py:15 · examples/40_exterior_algebra.py:26 · examples/distributed/f2_linear_algebra.py:28 · examples/distributed/f2_linear_algebra.py:29 · examples/distributed/f2_linear_algebra.py:30