#geometry #intersection #enumerative #schubert

no-std amari-enumerative

Enumerative geometry capabilities for the Amari library

24 releases (5 breaking)

new 0.11.0 Nov 26, 2025
0.10.0 Nov 21, 2025
0.9.10 Nov 18, 2025
0.9.7 Oct 21, 2025
0.6.0 Oct 3, 2025

#2040 in Math


Used in amari

MIT/Apache

410KB
9K SLoC

Amari Enumerative Geometry

This crate provides enumerative geometry capabilities for the Amari mathematical library. It implements intersection theory, Schubert calculus, and tools for counting geometric configurations such as curves, surfaces, and higher-dimensional varieties.

Features

  • Intersection Theory: Chow rings, intersection multiplicities, and Bézout's theorem
  • Schubert Calculus: Computations on Grassmannians and flag varieties
  • Gromov-Witten Theory: Curve counting and quantum cohomology
  • Tropical Geometry: Tropical curve counting and correspondence theorems
  • Moduli Spaces: Computations on moduli spaces of curves and surfaces

Usage

use amari_enumerative::{ProjectiveSpace, ChowClass, IntersectionRing};

// Create projective 2-space
let p2 = ProjectiveSpace::new(2);

// Define two curves
let cubic = ChowClass::hypersurface(3);
let quartic = ChowClass::hypersurface(4);

// Compute intersection number (Bézout's theorem)
let intersection = p2.intersect(&cubic, &quartic);
assert_eq!(intersection.multiplicity(), 12); // 3 * 4 = 12

Dependencies

~0.9–35MB
~497K SLoC