Cylindrical Algebraic Decomposition in Macaulay2
Corin Lee, Tereso del Río, Hamid Rahkooy
TL;DR
This paper introduces CylindricalAlgebraicDecomposition, the first Macaulay2 implementation of CAD that yields an Open CAD for sets of rational-coefficient polynomials. It employs Lazard projection and a new gmods-based variable-ordering heuristic to reduce the number of full-dimensional cells, enabling efficient satisfiability checks for strict polynomial inequalities via findPositiveSolution. The RealRoots-based root isolation is integrated with targeted improvements to robustness and performance. The work enables practical open-CAD-based existential testing and outlines a path toward full CAD-based quantifier elimination and connectivity analysis, with potential impact in real algebraic geometry and related applications.
Abstract
CylindricalAlgebraicDecomposition.m2 is the first implementation of Cylindrical Algebraic Decomposition (CAD) in Macaulay2. CAD decomposes space into 'cells' where input polynomials are sign-invariant. This package computes an Open CAD (full-dimensional cells only) for sets of real polynomials with rational coefficients, enabling users to solve existential problems involving strict inequalities. With the construction of a full CAD (cells of all dimensions), this tool could be extended to solve any real quantifier elimination problem. The current implementation employs the Lazard projection and introduces a new heuristic for choosing the variable ordering.
