Skip to content

cel34-bath/CADRepository

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Repository for work relating to Cylindrical Algebraic Decomposition (CAD)

This is a repository containing code, tools, and documentation relating to Cylindrical Algebraic Decomposition (CAD). This covers software implementations, benchmarking, and CAD visualisation tools, with the aim to make CAD more accessible, better understood, and easier to apply in practical settings.

Introduction to CAD

CAD is an important algorithm in symbolic computation for studying real semi-algebraic sets. It takes a set of multivariate polynomials and decomposes the solution space into disjoint regions known as cells, within which the initial polynomials are invariant with respect to some property, such as sign. In satisfiability problems, this reduces the search from the uncountable real space to a finite number of regions.

CAD was first introduced as a method for performing quantifier elimination (QE) over the reals by Collins in 1975 and has applications in algebraic geometry and fields such as robotics, economics, and biology. CAD is well suited for computation and has been implemented in many widely used computer algebra packages.

However, CAD is computationally expensive, with a worst-case complexity that is doubly exponential in the number of variables (Davenport and Heintz, 1988). Despite this, many real-world examples are tractable, and advances in computational power and CAD theory have allowed us to solve more challenging cases.

For an overview of CAD and its theory, see:

Some applications of CAD include:

Robotics and motion planning:

  • Jacob T. Schwartz & Micha Sharir, On the “piano movers” problem I. The case of a two-dimensional rigid polygonal body moving amidst polygonal barriers, Communications on Pure and Applied Mathematics, 1983, DOI: 10.1002/cpa.3160360305
  • David Wilson, James H. Davenport, Matthew England & Russell J. Bradford, A “Piano Movers” Problem Reformulated, Proceedings of SYNASC 2013, IEEE, 2013, DOI: 10.1109/SYNASC.2013.14
  • James H. Davenport, A “piano movers” problem, ACM SIGSAM Bulletin, ACM, 1986, DOI: 10.1145/12917.12919
  • Montserrat Manubens, Guillaume Moroz, Damien Chablat, Philippe Wenger & Fabrice Rouillier, Cusp Points in the Parameter Space of Degenerate 3-RPR Planar Parallel Manipulators, Journal of Mechanisms and Robotics, ASME, 2012, DOI: 10.1115/1.4006921

Economics:

  • Casey B. Mulligan, James H. Davenport & Matthew England, TheoryGuru: A Mathematica Package to Apply Quantifier Elimination Technology to Economics, Mathematical Software – ICMS 2018, Springer, 2018, DOI: 10.1007/978-3-319-96418-8_44

Biology:

  • Gergely Röst & AmirHosein Sadeghimanesh, Exotic Bifurcations in Three Connected Populations with Allee Effect, International Journal of Bifurcation and Chaos, World Scientific, 2021, DOI: 10.1142/S0218127421502023

Publications and Presentations

This is a collection of publications and presentations I have given relating to CAD. See presentations/.


CylindricalAlgebraicDecomposition – a Macaulay2 Package

This is the first implementation of CAD in Macaulay2, allowing for the computation of an Open CAD (full-dimensional cells only) for sets of real polynomials with rational coefficients, enabling users to solve existential problems involving strict inequalities. The current implementation employs the Lazard projection and introduces a new heuristic for choosing the variable ordering.

  • Code and documentation: Macaulay2/
  • Read the ArXiv pre-print here
  • Get started with Macaulay2 here
An Open CAD Graph An Open CAD Tree

CAD Graphing Tool

A tool for Maple that visualizes 2D CADs using color-coded cells. Compatible with outputs from Maple's RegularChains and QuantifierElimination packages.


Benchmarking

This directory contains benchmarking scripts and logs used to compare performance between Maple's RegularChains and QuantifierElimination packages.


This page is maintained by Corin Lee. Feel free to contact me at cel34@bath.ac.uk with any questions or suggestions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages