MATHEMATICA TUTORIAL

Integrals That Can and Cannot Be Done

Evaluating integrals is much more difficult than evaluating derivatives. For derivatives, there is a systematic procedure based on the chain rule that effectively allows any derivative to be worked out. But for integrals, there is no such systematic procedure.

One of the main problems is that it is difficult to know what kinds of functions will be needed to evaluate a particular integral. When you work out a derivative, you always end up with functions that are of the same kind or simpler than the ones you started with. But when you work out integrals, you often end up needing to use functions that are much more complicated than the ones you started with.

This integral can be evaluated using the same kind of functions that appeared in the input.
In[1]:=
Click for copyable input
Out[1]=
But for this integral the special function LogIntegral is needed.
In[2]:=
Click for copyable input
Out[2]=
It is not difficult to find integrals that require all sorts of functions.
In[3]:=
Click for copyable input
Out[3]=
This integral involves an incomplete gamma function. Note that the power is carefully set up to allow any complex value of .
In[4]:=
Click for copyable input
Out[4]=

Mathematica includes a very wide range of mathematical functions, and by using these functions a great many integrals can be done. But it is still possible to find even fairly simple-looking integrals that just cannot be done in terms of any standard mathematical functions.

Here is a fairly simple-looking integral that cannot be done in terms of any standard mathematical functions.
In[5]:=
Click for copyable input
Out[5]=

The main point of being able to do an integral in terms of standard mathematical functions is that it lets one use the known properties of these functions to evaluate or manipulate the result one gets.

In the most convenient cases, integrals can be done purely in terms of elementary functions such as exponentials, logarithms and trigonometric functions. In fact, if you give an integrand that involves only such elementary functions, then one of the important capabilities of Integrate is that if the corresponding integral can be expressed in terms of elementary functions, then Integrate will essentially always succeed in finding it.

Integrals of rational functions are straightforward to evaluate, and always come out in terms of rational functions, logarithms and inverse trigonometric functions.
In[6]:=
Click for copyable input
Out[6]=
The integral here is still of the same form, but now involves an implicit sum over the roots of a polynomial.
In[7]:=
Click for copyable input
Out[7]=
This finds numerical approximations to all the root objects.
In[8]:=
Click for copyable input
Out[8]=
Integrals of trigonometric functions usually come out in terms of other trigonometric functions.
In[9]:=
Click for copyable input
Out[9]=
This is a fairly simple integral involving algebraic functions.
In[10]:=
Click for copyable input
Out[10]=
Here is an integral involving nested square roots.
In[11]:=
Click for copyable input
Out[11]=
By nesting elementary functions you sometimes get integrals that can be done in terms of elementary functions.
In[12]:=
Click for copyable input
Out[12]=
But more often other kinds of functions are needed.
In[13]:=
Click for copyable input
Out[13]=
Integrals like this typically come out in terms of elliptic functions.
In[14]:=
Click for copyable input
Out[14]=
But occasionally one can get results in terms of elementary functions alone.
In[15]:=
Click for copyable input
Out[15]=
Integrals like this can systematically be done using Piecewise.
In[16]:=
Click for copyable input
Out[16]=

Beyond working with elementary functions, Integrate includes a large number of algorithms for dealing with special functions. Sometimes it uses a direct generalization of the procedure for elementary functions. But more often its strategy is first to try to write the integrand in a form that can be integrated in terms of certain sophisticated special functions, and then having done this to try to find reductions of these sophisticated functions to more familiar functions.

To integrate this Bessel function requires a generalized hypergeometric function.
In[17]:=
Click for copyable input
Out[17]=
Sometimes the integrals can be reduced to more familiar forms.
In[18]:=
Click for copyable input
Out[18]=

A large book of integral tables will list perhaps a few thousand indefinite integrals. Mathematica can do essentially all of these integrals. And because it contains general algorithms rather than just specific cases, Mathematica can actually do a vastly wider range of integrals.

You could expect to find this integral in any large book of integral tables.
In[19]:=
Click for copyable input
Out[19]=
To do this integral, however, requires a more general algorithm, rather than just a direct table lookup.
In[20]:=
Click for copyable input
Out[20]=

Particularly if you introduce new mathematical functions of your own, you may want to teach Mathematica new kinds of integrals. You can do this by making appropriate definitions for Integrate.

In the case of differentiation, the chain rule allows one to reduce all derivatives to a standard form, represented in Mathematica using Derivative. But for integration, no such similar standard form exists, and as a result you often have to make definitions for several different versions of the same integral. Changes of variables and other transformations can rarely be done automatically by Integrate.

This integral cannot be done in terms of any of the standard mathematical functions built into Mathematica.
In[21]:=
Click for copyable input
Out[21]=
Before you add your own rules for integration, you have to remove write protection.
In[22]:=
Click for copyable input
Out[22]=
You can set up your own rule to define the integral to be, say, a "Jones" function.
In[23]:=
Click for copyable input
Now Mathematica can do integrals that give Jones functions.
In[24]:=
Click for copyable input
Out[24]=

As it turns out, the integral can in principle be represented as an infinite sum of hypergeometric functions, or as a suitably generalized Kampé de Fériet hypergeometric function of two variables.

New to Mathematica? Find your learning path »
Have a question? Ask support »