Thanks to visit codestin.com
Credit goes to lib.rs

#numeric-primitive #dynamic #adjacency #cone #back-ends #rug #dd #debugging #polyhedra #dashu

howzat

Dynamic description method primitives for polyhedra with pluggable numeric backends

1 unstable release

Uses new Rust 2024

new 0.1.0 Jan 13, 2026

#2 in #adjacency

AGPL-3.0-only

700KB
19K SLoC

howzat

Dynamic double-description method for convex cones and polytopes. Small API, pluggable numeric backends, predictable behavior.

Features

  • Cone/polytope primitives: Adjacency queries, tableau-based convex hull routines.
  • Backend-agnostic: Works with rug (GMP) or dashu (pure-Rust) arbitrary precision.
  • Minimal footprint: Few dependencies, optional tracing for debugging.

Example

use howzat::dd::Cone;

let generators = vec![vec![1, 0], vec![0, 1], vec![1, 1]];
let cone = Cone::from_generators(&generators)?;
let adjacency = cone.vertex_adjacency()?;

assert_eq!(adjacency.num_vertices(), 3);

License

AGPL-3.0-only. See LICENSE for details.

Dependencies

~1.6–3.5MB
~60K SLoC