Neha Patil (Editor)

Cylindrical algebraic decomposition

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In mathematics, cylindrical algebraic decomposition (CAD) is a notion and an algorithm to compute it, which are fundamental for computer algebra and real algebraic geometry. Given a set S of polynomials in Rn, a cylindrical algebraic decomposition is a decomposition of Rn into connected semialgebraic sets called cells, on which each polynomial has constant sign, either +, − or 0. For being cylindrical, this decomposition must satisfy the following condition: If 1 ≤ k < n and π is the projection from Rn onto Rnk consisting in removing the k last coordinates, then for every cells c and d, one has either π(c) = π(d) or π(c) ∩ π(d) = ∅. This implies that the images by π of the cells define a cylindrical decomposition of Rnk.

The notion was introduced by George E. Collins in 1975, together with an algorithm for computing it.

Collins' algorithm has a computational complexity that is double exponential in n. This is an upper bound, which is reached on most entries. There are also examples for which the minimal number of cells is doubly exponential, showing that every general algorithm for cylindrical algebraic decomposition has a double exponential complexity.

CAD provides an effective version of quantifier elimination over the reals, which has a much better computational complexity than that which results from the original proof of Tarski–Seidenberg theorem. It is efficient enough for being implemented on a computer. It is one of the most important algorithms of computational real algebraic geometry. Searching to improve Collins algorithm, or to provide algorithms that have a better complexity for subproblems of general interest is an active field of research.

Implementations

  • Mathematica: CylindricalDecomposition
  • References

    Cylindrical algebraic decomposition Wikipedia