This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)
 Documentation / Mathematica / The Mathematica Book / Advanced Mathematics / Algebraic Manipulation  /

3.3.9 Simplification

Simplifying expressions.

  • Mathematica does not automatically simplify an algebraic expression like this.
  • In[1]:= (1 - x)/(1 - x^2)


  • Simplify performs the simplification.
  • In[2]:= Simplify[%]


  • Simplify performs standard algebraic and trigonometric simplifications.
  • In[3]:= Simplify[Sin[x]^2 + Cos[x]^2]


  • It does not however do more sophisticated transformations that involve for example special functions.
  • In[4]:= Simplify[Gamma[1+n]/n]


  • FullSimplify does perform such transformations.
  • In[5]:= FullSimplify[%]


    Controlling simplification.

  • Here is an expression involving trigonometric functions and square roots.
  • In[6]:= t = (1 - Sin[x]^2) Sqrt[Expand[(1 + Sqrt[2])^20]]


  • By default, FullSimplify will try to simplify everything.
  • In[7]:= FullSimplify[t]


  • This makes FullSimplify avoid simplifying the square roots.
  • In[8]:= FullSimplify[t, ExcludedForms->Sqrt[_]]


    Further control of simplification.

    In both Simplify and FullSimplify there is always an issue of what counts as the "simplest" form of an expression. You can use the option ComplexityFunction->f to provide a function to determine this. The function will be applied to each candidate form of the expression, and the one that gives the smallest numerical value will be considered simplest.

  • With its default definition of simplicity, Simplify leaves this unchanged.
  • In[9]:= Simplify[4 Log[10]]


  • This now tries to minimize the number of elements in the expression.
  • In[10]:= Simplify[4 Log[10], ComplexityFunction -> LeafCount]