This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)
Wolfram Research, Inc.

Getting Full SolutionsEliminating Variables

3.4.7 Advanced Topic: Existence of Solutions

Using Reduce, you can find out under exactly what conditions a particular set of equations has solutions. Solve tells you whether any generic solutions exist.

There is no value of x which solves these simultaneous equations. Reduce thus simplifies the logical statement x==1 && x==2 to the explicit value False.

In[1]:= Reduce[ x == 1 && x == 2 , x ]

Out[1]=

There is a solution to these equations, but only when a has the special value 1.

In[2]:= Reduce[ x == 1 && x == a , x ]

Out[2]=

The solution is not generic, and is rejected by Solve.

In[3]:= Solve[ x == 1 && x == a , x ]

Out[3]=

But if a is constrained to have value 1, then Solve again returns a solution.

In[4]:= Solve[ x == 1 && x == a && a == 1, x ]

Out[4]=

This equation is true for any value of x.

In[5]:= Reduce[ x == x , x ]

Out[5]=

This is the kind of result Solve returns when you give an equation that is always true.

In[6]:= Solve[ x == x , x ]

Out[6]=

When you work with systems of linear equations, you can use Solve to get generic solutions, and Reduce to find out for what values of parameters solutions exist.

Here is a matrix whose element is .

In[7]:= m = Table[i + j, {i, 3}, {j, 3}]

Out[7]=

The matrix has determinant zero.

In[8]:= Det[ m ]

Out[8]=

This makes a set of three simultaneous equations.

In[9]:= eqn = m . {x, y, z} == {a, b, c}

Out[9]=

Solve reports that there are no generic solutions.

In[10]:= Solve[eqn, {x, y, z}]

Out[10]=

Reduce, however, shows that there would be a solution if the parameters satisfied the special condition a == 2b - c.

In[11]:= Reduce[eqn, {x, y, z}]

Out[11]=

For nonlinear equations, the conditions for the existence of solutions may be very complicated.

Here is a very simple pair of nonlinear equations.

In[12]:= eqn = {x y == a, x^2 y^2 == b}

Out[12]=

Solve shows that the equations have no generic solutions.

In[13]:= Solve[eqn, {x, y}]

Out[13]=

Reduce gives the complete conditions for a solution to exist.

In[14]:= Reduce[eqn, {x, y}]

Out[14]=

Getting Full SolutionsEliminating Variables