This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)
 Documentation / Mathematica / The Mathematica Book / Advanced Mathematics / Manipulating 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 xy-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}]]