is an option for functions like NIntegrate and Plot that specifies how many recursive subdivisions can be made.


  • MaxRecursion->n specifies that up to n levels of recursion should be done.
  • Recursive subdivision is done only in those places where more samples seem to be needed in order to achieve results with a certain level of quality.
  • In d dimensions, each recursive subdivision increases the number of samples taken by a factor that increases roughly exponentially with d.
  • MaxRecursion->Infinity specifies no limit on the number of recursive subdivisions.
  • In cases such as functions with discontinuities or with infinitely rapid oscillations there may be no convergence even after an infinite number of subdivisions.


open allclose all

Basic Examples  (2)

Get a very high-quality plot of a sharp feature:

Allow more adaptive recursion to resolve the integral of a rapidly varying function:

Scope  (2)

Use MaxRecursion to control adaptive subdivision:

Use MaxRecursion to improve results when singularities affect numerical integration:

With the default setting, the result is not as good:

Specifying the singularity locations is even more efficient:

Introduced in 1991
Updated in 2007