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

Eliminating VariablesAdvanced Topic: Solving Logical Combinations of Equations

3.4.9 Solving Equations with Subsidiary Conditions

In doing calculations with equations, you will often find it convenient to think of a particular set of equations as the "main" ones you are working with, and to think of other equations as "subsidiary conditions" that must also be satisfied.

A typical thing to do is to assign a name to the list of subsidiary conditions, and then to include them by name in each list of equations you give to Solve.

sincos is defined to be the equation .

In[1]:= sincos = Sin[x]^2 + Cos[x]^2 == 1


This solves the equation , with the "subsidiary condition" .

In[2]:= Solve[ { Sin[x] + 2 Cos[x] == 1, sincos } ,

{ Sin[x], Cos[x] } ]


Here is another equation, solved with the same "subsidiary condition".

In[3]:= Solve[ { Sin[x] == Cos[x], sincos } ,

{ Sin[x], Cos[x] } ]


When you are working with polynomials, there are ways to use GroebnerBasis and PolynomialReduce to reduce sets of polynomials subject to subsidiary conditions.

This sets up a Gröbner basis.

In[4]:= g = GroebnerBasis[{x + y - a, x y - b}, {x, y}]


This gives a reduction of x^3+y^3 in terms of the elements of g.

In[5]:= PolynomialReduce[x^3 + y^3, g, {x, y}]


This shows how x^3+y^3 can be reduced if x+y-a and x y-b are assumed to be zero.

In[6]:= Last[%]


This reduces x^4+y^4 with the same subsidiary condition.

In[7]:= Last[PolynomialReduce[x^4 + y^4, g, {x, y}]]


Eliminating VariablesAdvanced Topic: Solving Logical Combinations of Equations