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:

Wolfram Research (1991), MaxRecursion, Wolfram Language function, (updated 2007).


Wolfram Research (1991), MaxRecursion, Wolfram Language function, (updated 2007).


Wolfram Language. 1991. "MaxRecursion." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2007.


Wolfram Language. (1991). MaxRecursion. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_maxrecursion, author="Wolfram Research", title="{MaxRecursion}", year="2007", howpublished="\url{}", note=[Accessed: 13-June-2024 ]}


@online{reference.wolfram_2024_maxrecursion, organization={Wolfram Research}, title={MaxRecursion}, year={2007}, url={}, note=[Accessed: 13-June-2024 ]}