The Mathematica Journal
Departments
Feature Articles
Columns
New Products
New Publications
Classifieds
Calendar
News Bulletins
Mailbox
Letters
Write Us
About the Journal
Staff and Contributors
Submissions
Subscriptions
Advertising
Back Issues
Home
Download this Issue

Solving Systems of Equations and Inequalities

[Graphics:../Images/index_gr_66.gif] [Graphics:../Images/index_gr_67.gif]
[Graphics:../Images/index_gr_68.gif] [Graphics:../Images/index_gr_69.gif]
[Graphics:../Images/index_gr_70.gif] [Graphics:../Images/index_gr_71.gif]

Figure 2. Functions for solving systems of equations and inequalities.

InequalitySolve is defined in the following package.

[Graphics:../Images/index_gr_72.gif]

Here is the cylindrical-solution-form representation of the unit ball.

[Graphics:../Images/index_gr_73.gif]
[Graphics:../Images/index_gr_74.gif]

Please note the nested structure of the answer. The cylindrical parts described in the introduction can be obtained by expanding And with respect to Or.

[Graphics:../Images/index_gr_75.gif]
[Graphics:../Images/index_gr_76.gif]

CylindricalAlgebraicDecomposition gives direct access to inequality solving based on the cylindrical algebraic decomposition algorithm. It solves only algebraic equation and inequality systems. InequalitySolve uses CylindricalAlgebraicDecomposition in the multivariate case. In the univariate case InequalitySolve uses Solve, and it can solve some nonalgebraic inequalities provided Solve can find all real roots of the functions involved.

[Graphics:../Images/index_gr_77.gif]
[Graphics:../Images/index_gr_78.gif]
[Graphics:../Images/index_gr_79.gif]

Here is a necessary and sufficient condition for positiveness of the quadratic [Graphics:../Images/index_gr_80.gif].

[Graphics:../Images/index_gr_81.gif]
[Graphics:../Images/index_gr_82.gif]

This tells when the cubic [Graphics:../Images/index_gr_83.gif] has three real roots and the largest root is positive.

[Graphics:../Images/index_gr_84.gif]
[Graphics:../Images/index_gr_85.gif]

In many practical applications we may want to solve systems containing only polynomial (or rational function) inequalities, and it may be sufficient to find the set of solutions up to a set of measure zero. This is the case if we want to integrate over a volume described by inequalities, or if we want to plot a set of solutions of inequalities (e.g., the InequalityPlot function used in this article). In this case we can use GenericCylindricalAlgebraicDecomposition. It is significantly faster than CylindricalAlgebraicDecomposition (and InequalitySolve). GenericCylindricalAlgebraicDecomposition gives a list of two elements. The first element is a description of an open set A in the cylindrical solution form (using only strong inequalities). The second element is a disjunction of equations which describes a hypersurface B. The set of solutions of the input system of inequalities is contained between [Graphics:../Images/index_gr_86.gif] and [Graphics:../Images/index_gr_87.gif].

For the unit ball the set A is the interior of the ball, and the set B is the unit sphere.

[Graphics:../Images/index_gr_88.gif]
[Graphics:../Images/index_gr_89.gif]

This computes the volume of the unit ball.

[Graphics:../Images/index_gr_90.gif]
[Graphics:../Images/index_gr_91.gif]

We can now plot the solution of the inequality i1[1/4] from the previous section.

[Graphics:../Images/index_gr_92.gif]

[Graphics:../Images/index_gr_93.gif]

Here is the "generic" description of the solution set of i1[1/4].

[Graphics:../Images/index_gr_94.gif]
[Graphics:../Images/index_gr_95.gif]

This shows how to use the description to numerically compute the area of the solution set.

[Graphics:../Images/index_gr_96.gif]
[Graphics:../Images/index_gr_97.gif]

Converted by Mathematica      April 24, 2000

[Article Index] [Prev Page][Next Page]