Cylindrical Algebraic Decomposition

DOWNLOAD Mathematica Notebook

Define a cell in R^1 as an open interval or a point. A cell in R^(k+1) then has one of two forms,

 {(x,y):x in C, and f(x)<y<g(x)}
(1)

or

 {(x,y):x in C, and y=f(x)},
(2)

where x={x_1,...,x_k}, C is a cell in R^k, f and g are either (1) continuous functions on C such that for some polynomials F and G, F(x,f(x))=0 and G(x,g(x))=0, or (2) +/-infty, and f(x)<g(x) for all x in C.

A cylindrical algebraic decomposition of S subset R^n is a representation of S as a finite union of disjoint cells. Let F be finite set of polynomials in n variables. A cylindrical algebraic decomposition of S subset R^n is said to be F-invariant if each of the polynomials from F has a constant sign on each cell of the decomposition.

The cylindrical algebraic decomposition (CAD) algorithm, given a finite set F of polynomials in n variables, computes an F-invariant cylindrical algebraic decomposition of R^n. Given a logical combination of polynomial equations and inequalities in n real unknowns, one can use the CAD algorithm to find a cylindrical algebraic decomposition of its solution set. For example, the decomposition of

 x^2+y^2+z^2<1
(3)

is given by

 {-1<x<1; -sqrt(1-x^2)<y<sqrt(1-x^2); -sqrt(1-x^2-y^2)<z<sqrt(1-x^2-y^2).
(4)

The command CylindricalDecomposition[ineqs, {x1, x2, ...}] performs cylindrical algebraic decompositions in the Wolfram Language. Although the process is algorithmic, it becomes computationally infeasible for complicated inequalities.

Wolfram Web Resources

Mathematica »

The #1 tool for creating Demonstrations and anything technical.

Wolfram|Alpha »

Explore anything with the first computational knowledge engine.

Wolfram Demonstrations Project »

Explore thousands of free applications across science, mathematics, engineering, technology, business, art, finance, social sciences, and more.

Computerbasedmath.org »

Join the initiative for modernizing math education.

Online Integral Calculator »

Solve integrals with Wolfram|Alpha.

Step-by-step Solutions »

Walk through homework problems step-by-step from beginning to end. Hints help you try the next step on your own.

Wolfram Problem Generator »

Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.

Wolfram Education Portal »

Collection of teaching and learning tools built by Wolfram education experts: dynamic textbook, lesson plans, widgets, interactive Demonstrations, and more.

Wolfram Language »

Knowledge-based programming for everyone.