# Numerical Mathematics in *Mathematica*

One of the important features of *Mathematica* is its ability to give you exact, symbolic, results for computations. There are, however, computations where it is just mathematically impossible to get exact "closed form" results. In such cases, you can still often get approximate numerical results.

There is no "closed form" result for

.

*Mathematica* returns the integral in symbolic form.

Out[1]= | |

You can now take the symbolic form of the integral, and ask for its approximate numerical value.

Out[2]= | |

When *Mathematica* cannot find an explicit result for something like a definite integral, it returns a symbolic form. You can take this symbolic form, and try to get an approximate numerical value by applying N.

By giving a second argument to

N, you can specify the numerical precision to use.

Out[3]= | |

If you want to evaluate an integral numerically in *Mathematica*, then using Integrate and applying N to the result is not the most efficient way to do it. It is better instead to use the function NIntegrate, which immediately gives a numerical answer, without first trying to get an exact, symbolic, result. You should realize that even when Integrate does not in the end manage to give you an exact result, it may spend a lot of time trying to do so.

NIntegrate evaluates numerical integrals directly, without first trying to get a symbolic result.

Out[4]= | |

Symbolic and numerical versions of some *Mathematica* functions.