# Inequalities

Just as the

*equation* asserts that

is equal to

, so also the

*inequality* asserts that

is greater than

. In

*Mathematica*,

Reduce works not only on equations, but also on inequalities.

Reduce[{ineq_{1},ineq_{2},...},x] | reduce a collection of inequalities in x |

Manipulating univariate inequalities.

This pair of inequalities reduces to a single inequality.

Out[1]= | |

These inequalities can never simultaneously be satisfied.

Out[2]= | |

When applied to an equation,

Reduce tries to get a result consisting of simple equations for

x of the form

, .... When applied to an inequality,

Reduce does the exactly analogous thing, and tries to get a result consisting of simple inequalities for

x of the form

, ....

This reduces a quadratic equation to two simple equations for

.

Out[3]= | |

This reduces a quadratic inequality to two simple inequalities for

.

Out[4]= | |

You can think of the result generated by

Reduce as representing a series of intervals, described by inequalities. Since the graph of a polynomial of degree

can go up and down as many as

times, a polynomial inequality of degree

can give rise to as many as

distinct intervals.

This inequality yields three distinct intervals.

Out[5]= | |

The ends of the intervals are at roots and poles.

Out[6]= | |

Solving this inequality requires introducing

ProductLog.

Out[7]= | |

Transcendental functions like

have graphs that go up and down infinitely many times, so that infinitely many intervals can be generated.

The second inequality allows only finitely many intervals.

Out[8]= | |

This is how

Reduce represents infinitely many intervals.

Out[9]= | |

Fairly simple inputs can give fairly complicated results.

Out[10]= | |

If you have inequalities that involve

as well as

, there may be isolated points where the inequalities can be satisfied.

Reduce represents such points by giving equations.

This inequality can be satisfied at just two isolated points.

Out[11]= | |

This yields both intervals and isolated points.

Out[12]= | |

Reduce[{ineq_{1},ineq_{2},...},{x_{1}, x_{2}, ... }] | reduce a collection of inequalities in several variables |

Multivariate inequalities.

For inequalities involving several variables,

Reduce in effect yields nested collections of interval specifications, in which later variables have bounds that depend on earlier variables.

This represents the unit disk as nested inequalities for

and

.

Out[13]= | |

In geometrical terms, any linear inequality divides space into two halves. Lists of linear inequalities thus define polyhedra, sometimes bounded, sometimes not.

Reduce represents such polyhedra in terms of nested inequalities. The corners of the polyhedra always appear among the endpoints of these inequalities.

This defines a triangular region in the plane.

Out[14]= | |

Even a single triangle may need to be described as two components.

Out[15]= | |

Lists of inequalities in general represent regions of overlap between geometrical objects. Often the description of these can be quite complicated.

This represents the part of the unit disk on one side of a line.

Out[16]= | |

Here is the intersection between two disks.

Out[17]= | |

If the disks are too far apart, there is no intersection.

Out[18]= | |

Here is an example involving a transcendental inequality.

Out[19]= | |

If you have inequalities that involve parameters,

Reduce automatically handles the different cases that can occur, just as it does for equations.

The form of the intervals depends on the value of

.

Out[20]= | |

One gets a hyperbolic or an elliptical region, depending on the value of

.

Out[21]= | |

Reduce tries to give you a complete description of the region defined by a set of inequalities. Sometimes, however, you may just want to find individual instances of values of variables that satisfy the inequalities. You can do this using

FindInstance.

FindInstance[ineqs,{x_{1},x_{2},...}] | try to find an instance of the satisfying ineqs |

FindInstance[ineqs,vars,n] | try to find n instances |

Finding individual points that satisfy inequalities.

This finds a specific instance that satisfies the inequalities.

Out[22]= | |

This shows that there is no way to satisfy the inequalities.

Out[23]= | |

FindInstance is in some ways an analog for inequalities of

Solve for equations. For like

Solve, it returns a list of rules giving specific values for variables. But while for equations these values can generically give an accurate representation of all solutions, for inequalities they can only correspond to isolated sample points within the regions described by the inequalities.

Every time you call

FindInstance with specific input, it will give the same output. And when there are instances that correspond to special, limiting, points of some kind, it will preferentially return these. But in general, the distribution of instances returned by

FindInstance will typically seem somewhat random. Each instance is, however, in effect a constructive proof that the inequalities you have given can in fact be satisfied.

If you ask for one point in the unit disk,

FindInstance gives the origin.

Out[24]= | |

This finds 500 points in the unit disk.

Their distribution seems somewhat random.

Out[26]= | |