# Numerical Integration

N[Integrate[expr,{x,x_{min},x_{max}}]] | try to perform an integral exactly, then find numerical approximations to the parts that remain |

NIntegrate[expr,{x,x_{min},x_{max}}] | find a numerical approximation to an integral |

NIntegrate[expr,{x,x_{min},x_{max}},{y,y_{min},y_{max}},…] | |

multidimensional numerical integral | |

NIntegrate[expr,{x,x_{min},x_{1},x_{2},…,x_{max}}] | |

do a numerical integral along a line, starting at , going through the points , and ending at |

Numerical integration functions.

An important feature of NIntegrate is its ability to deal with functions that "blow up" at known points. NIntegrate automatically checks for such problems at the endpoints of the integration region.

NIntegrate automatically looks for singularities at the endpoints of the integration region and any subregions defined by piecewise functions (such as Piecewise and Abs) in the integrand. If additional singularities are present, NIntegrate may not give you the right answer for the integral. Nevertheless, in following its adaptive procedure, NIntegrate will often detect the presence of potentially singular behavior, and will warn you about it.

If you know that your integrand has singularities at particular points, you can explicitly tell NIntegrate to deal with them. NIntegrate[expr,{x,x_{min},x_{1},x_{2},…,x_{max}}] integrates expr from Null to Null, looking for possible singularities at each of the intermediate points Null.

You can also use the list of intermediate points Null in NIntegrate to specify an integration contour to follow in the complex plane. The contour is taken to consist of a sequence of line segments, starting at Null, going through each of the Null, and ending at Null.

option name | default value | |

MinRecursion | 0 | minimum number of recursions for the integration method |

MaxRecursion | Automatic | maximum number of recursions for the integration method |

MaxPoints | Automatic | maximum total number of times to sample the integrand |

Special options for NIntegrate.

When NIntegrate tries to evaluate a numerical integral, it samples the integrand at a sequence of points. If it finds that the integrand changes rapidly in a particular region, then it recursively takes more sample points in that region. The parameters MinRecursion and MaxRecursion specify the minimum and maximum number of recursions to use. Increasing the value of MinRecursion guarantees that NIntegrate will use a larger number of sample points. MaxPoints and MaxRecursion limit the number of sample points which NIntegrate will ever try to use. Increasing MinRecursion or MaxRecursion will make NIntegrate work more slowly.

For integrals in many dimensions, it can take a long time for NIntegrate to get a precise answer. However, by setting the option MaxPoints, you can tell NIntegrate to give you just a rough estimate, sampling the integrand only a limited number of times.