MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: $RecursionLimit Bug?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63942] Re: [mg63932] $RecursionLimit Bug?
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Tue, 24 Jan 2006 01:30:27 -0500 (EST)
  • References: <200601230911.EAA04880@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

W. Craig Carter wrote:
> Hello,
> I am using Mathematica 5.2 on MacOS 10.4.4
> 
> I was trying to construct a cannonical timing example by writing
> a memoryless factorial function.
> 
> If I do this (fresh kernel):
> 
> $RecursionLimit = $IterationLimit = 10^6
> fact[0] = 1;
> fact[n_] := n fact[n - 1]
> Timing[fact[10^6]]
> ?fact
> This generates no output, and the ?fact input line becomes In[1], as 
> if the kernel died after Timing[fact[10^5]], but no messages are 
> generated.
> 
> If I bury the recursion limit inside a Block, then I get
> fact[0] = 1;
> fact[n_] := n fact[n - 1]
> Timing[Block[{$RecursionLimit = Infinity}, Return[fact[10^5]]]]
> -----> $RecursionLimit::reclim : Recursion depth of 256 exceeded
> ?fact (* now is In[1] *)
> -----? Symbol fact not found.
> 
> 
> Is this a bug?  I couldn't find a list of known bugs on the 
> mathematica site....
> 
> 
> Thanks, WCC
> 
> 
> 
> W. Craig Carter
> Lord Foundation Professor of Materials Science and Engineering
> MIT, Dept. of Materials Science and Engineering 13-5018  77 Massachusetts Ave, Cambridge, MA 02139-4307 USA
> 617-253-6048  ccarter at mit.edu http://pruffle.mit.edu/~ccarter http://pruffle.mit.edu/~ccarter/FAQS/ http://pruffle.mit.edu/~ccarter/I_do_not_use_microsoft.html


Setting $RecursionLimit particularly high means the software in the 
Mathematica kernel will not limit your recursion depth. No claim is made 
as to when/where your operating system recursion stack will decide 
you've run out of room. For your particular example I find that 
somewhere between 3*10^4 and 4*10^4 I get a segmentation fault running 
the Mathematica kernel under Linux.


Daniel Lichtblau
Wolfram Research



  • Prev by Date: Re: show workings
  • Next by Date: Re: Assuming to be a real number is useless even in simple cases?
  • Previous by thread: Re: Re: $RecursionLimit Bug?
  • Next by thread: Re: Re: $RecursionLimit Bug?