# An Example: Defining Your Own Integration Function

Now that we have introduced the basic features of patterns in *Mathematica*, we can use them to give a more or less complete example. We will show how you could define your own simple integration function in *Mathematica*.

From a mathematical point of view, the integration function is defined by a sequence of mathematical relations. By setting up transformation rules for patterns, you can implement these mathematical relations quite directly in *Mathematica*.

*mathematical form* | *Mathematica* *definition* |

| integrate[y_+z_,x_]:=integrate[y,x]+integrate[z,x] |

( independent of ) | integrate[c_y_,x_]:=c integrate[y,x]/;FreeQ[c,x] |

| integrate[c_,x_]:=cx/;FreeQ[c,x] |

, | integrate[x_^n_.,x_]:=x^(n+1)/(n+1)/;FreeQ[n,x]&&n!=-1 |

| integrate[1/(a_.x_+b_.),x_]:=Log[ax+b]/a/;FreeQ[{a,b},x] |

| integrate[Exp[a_.x_+b_.],x_]:=Exp[ax+b]/a/;FreeQ[{a,b},x] |

Definitions for an integration function.

This implements the linearity relation for integrals:

.

The associativity of

Plus makes the linearity relation work with any number of terms in the sum.

Out[2]= | |

This makes

pull out factors that are independent of the integration variable

.

*Mathematica* tests each term in each product to see whether it satisfies the

FreeQ condition, and so can be pulled out.

Out[4]= | |

This gives the integral

of a constant.

Now the constant term in the sum can be integrated.

Out[6]= | |

This gives the standard formula for the integral of

. By using the pattern

, rather than

, we include the case of

.

Now this integral can be done completely.

Out[8]= | |

Of course, the built-in integration function

Integrate (with a capital

I) could have done the integral anyway.

Out[9]= | |

Here is the rule for integrating the reciprocal of a linear function. The pattern

stands for any linear function of

.

Here both

and

take on their default values.

Out[11]= | |

Here is a more complicated case. The symbol

now matches

.

Out[12]= | |

You can go on and add many more rules for integration. Here is a rule for integrating exponentials.