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.3 Structural Operations on Rational Expressions

For ordinary polynomials, Factor and Expand give the most important forms. For rational expressions, there are many different forms that can be useful.

Different kinds of expansion for rational expressions.

  • Here is a rational expression.
  • In[1]:= t = (1 + x)^2 / (1 - x) + 3 x^2 / (1 + x)^2 + (2 - x)^2


  • ExpandNumerator writes the numerator of each term in expanded form.
  • In[2]:= ExpandNumerator[t]


  • Expand expands the numerator of each term, and divides all the terms by the appropriate denominators.
  • In[3]:= Expand[t]


  • ExpandDenominator expands out the denominator of each term.
  • In[4]:= ExpandDenominator[t]


  • ExpandAll does all possible expansions in the numerator and denominator of each term.
  • In[5]:= ExpandAll[t]


    Controlling expansion.

  • This avoids expanding the term which does not contain z.
  • In[6]:= ExpandAll[(x + 1)^2/y^2 + (z + 1)^2/z^2, z]


    Structural operations on rational expressions.

  • Here is a rational expression.
  • In[7]:= u = (-4x + x^2)/(-x + x^2) + (-4 + 3x + x^2)/(-1 + x^2)


  • Together puts all terms over a common denominator.
  • In[8]:= Together[u]


  • You can use Factor to factor the numerator and denominator of the resulting expression.
  • In[9]:= Factor[%]


  • Apart writes the expression as a sum of terms, with each term having as simple a denominator as possible.
  • In[10]:= Apart[u]


  • Cancel cancels any common factors between numerators and denominators.
  • In[11]:= Cancel[u]


  • Factor first puts all terms over a common denominator, then factors the result.
  • In[12]:= Factor[%]


    In mathematical terms, Apart decomposes a rational expression into "partial fractions".
    In expressions with several variables, you can use Apart[expr,var] to do partial fraction decompositions with respect to different variables.

  • Here is a rational expression in two variables.
  • In[13]:= v = (x^2+y^2)/(x + x y)


  • This gives the partial fraction decomposition with respect to x.
  • In[14]:= Apart[v, x]


  • Here is the partial fraction decomposition with respect to y.
  • In[15]:= Apart[v, y]