Macaulay2 Engine
Loading...
Searching...
No Matches
cone.h File Reference

Engine-boundary C API for rational polyhedral cone operations. More...

Go to the source code of this file.

Functions

const MatrixrawFourierMotzkin (const Matrix *C)
const MatrixrawHilbertBasis (const Matrix *C)

Detailed Description

Engine-boundary C API for rational polyhedral cone operations.

Note
AI-generated documentation. Verify against the source before relying on it.

Declares the two extern "C" entry points the M2 interpreter uses for cone work, both routed through libnormaliz (the in-file section comment confirms "Cone routines (via Normaliz)"). rawFourierMotzkin(C) dualises a cone between facet-inequality and ray-generator representations — the function name reflects the algorithmic task, but the implementation hands off to Normaliz's Cone<Integer> with Type::inequalities (note the sign-convention adapter in-source: libnormaliz uses A*x >= 0, Macaulay2 uses A*x <= 0). rawHilbertBasis(C) returns the minimal generators of the semigroup of lattice points in the cone, via Normaliz's Type::cone mode. Cones are passed in and out as Matrix* whose columns are the relevant rays or facets, so only Matrix needs to be forward-declared at the C boundary.

When Normaliz is unavailable on the build machine the functions return null and the M2 layer surfaces a "feature not available" error.

See also
cone.cpp
engine-includes.hpp

Definition in file cone.h.