# Simplification

Simplify[expr] | try various algebraic and trigonometric transformations to simplify an expression |

FullSimplify[expr] | try a much wider range of transformations |

Simplifying expressions.

*Mathematica* does not automatically simplify an algebraic expression like this.

Out[1]= | |

Out[2]= | |

Simplify performs standard algebraic and trigonometric simplifications.

Out[3]= | |

It does not, however, do more sophisticated transformations that involve, for example, special functions.

Out[4]= | |

Out[5]= | |

Controlling simplification.

Here is an expression involving trigonometric functions and square roots.

Out[6]= | |

Out[7]= | |

Out[8]= | |

FullSimplify[expr,TimeConstraint->t] |

| try to simplify expr, working for at most t seconds on each transformation |

FullSimplify[expr,TransformationFunctions->{f_{1},f_{2},...}] |

| use only the functions in trying to transform parts of expr |

FullSimplify[expr,TransformationFunctions->{Automatic,f_{1},f_{2},...}] |

| use built-in transformations as well as the |

Simplify[expr,ComplexityFunction->c] and FullSimplify[expr,ComplexityFunction->c] |

| simplify using c to determine what form is considered simplest |

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->c 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.

Out[9]= | |

This now tries to minimize the number of elements in the expression.

Out[10]= | |