This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


finds a decomposition of the region represented by the inequalities ineqs into cylindrical parts whose directions correspond to the successive .
  • Lists or logical combinations of inequalities can be given.
Find a cylindrical decomposition of the unit disc:
Find a cylindrical decomposition of the unit disc:
Click for copyable input
For univariate polynomials the result consists of intervals:
In general individual points can occur:
This is the form for any logical combination as well:
For multivariate polynomials the result is in cylinder form :
In general several cylinders will result:
Plot the individual cylinders using RegionPlot:
By changing the order of variables, the cylinders take the form :
Plot the individual cylinders:
Here cylinders of dimensions 0, 2, and 1 occur in the result:
Three- and four-dimensional decompositions:
CylindricalDecomposition also allows quantified formulas:
Coefficients can include real algebraic numbers:
Coefficients can include real exact transcendental numbers:
Functions can be real algebraic:
This computation takes a long time due to high degrees of algebraic numbers involved:
This finds a decomposition using WorkingPrecision, but the result may be incorrect:
Use RegionPlot to visualize 2D semialgebraic sets:
Use RegionPlot3D to visualize 3D semialgebraic sets:
Resolve performs quantifier elimination, and may avoid computing cylindrical decomposition:
Reduce in addition deals with different domains and transcendental functions:
Use FindInstance to find points that satisfy equations and inequalities:
SemialgebraicComponentInstances will give sample points in each cylinder:
CylindricalDecomposition merges several cylinders to get a more compact representation:
GenericCylindricalDecomposition will compute the full dimensional part only:
The output and input are equal as sets:
Points are simultaneously inside or outside of the sets:
CylindricalDecomposition requires exact, infinite-precision input:
Rationalize will convert inexact numbers to exact ones:
In general the output can be in a nested and more compact form:
Flatten the result into disjunctive normal form without splitting the inequalities:
Semi-algebraic sets are quite general:
New in 5