Cylindrical algebraic decomposition

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. To be 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 pair of 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 to be 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.