# toric
Toric geometry: rational polyhedral cones, fans, convex polytopes, and toric ideals.
## Modules
### `RationalPolyhedralCone`
A rational polyhedral cone σ = Cone(v₁, …, vₙ) ⊆ ℝᵈ spanned by integer rays. Generators are stored in primitive (GCD-normalised), lexicographically sorted form. Supports:
- Spanning dimension (via SVD)
- Redundancy elimination
- Facet structure (via qhull)
- Intersection and face checks
### `ToricFan`
A collection of rational polyhedral cones forming a fan in ℝᵈ. Cones can be added with optional intersection-is-a-face validation. Computes the variety dimension and coordinate ring presentation.
### `ConvexPolytope<N>`
A convex lattice polytope in ℝᴺ, backed by a qhull convex-hull computation. Supports:
- Vertex enumeration
- Polar dual (requires origin in the interior)
- Affine post-composition maps
- Normal fan construction (giving a `ToricFan`)
### `CoordinateRingPresentation` / `Binomial` / `Monomial`
The coordinate ring of a toric variety presented as a polynomial ring modulo a **toric ideal** — the ideal generated by binomials xᵃ − xᵇ coming from the lattice relations among the ray generators. Computed from a single simplicial cone or assembled from a fan.
## Dependencies
- [`qhull`](https://crates.io/crates/qhull) — convex hull computations
- [`nalgebra`](https://crates.io/crates/nalgebra) — integer linear algebra (SNF, kernel)
- [`itertools`](https://crates.io/crates/itertools) — iterator utilities