MathGroup Archive 2007

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

Search the Archive

Re: Kernel Quits without error message. (Was: Better recursive method?)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg72853] Re: Kernel Quits without error message. (Was: Better recursive method?)
  • From: Peter Pein <petsie at dordos.net>
  • Date: Mon, 22 Jan 2007 04:27:19 -0500 (EST)
  • References: <eovfnn$rup$1@smc.vnet.net>

Johan Grönqvist schrieb:
> Hi,
> 
> When trying to modify the example given by nandan, I arrive at a short 
> function that makes the Kernel quit without displaying any error or 
> warning message.
> 
> With the definition
> 
> pi[0, theta_] := 0;
> pi[1, theta_] := 1;
> pi[i_, theta_] :=
>    pi[i, theta] = N[(2i - 1)/(i - 1) Cos[theta] pi[i - 1, theta]
> - i/(i - 1) * pi[i - 2, theta]]
> 
> and a high value for $RecursionLimit, I can evaluate pi[1000,1] in about 
> 0.06 seconds but the kernel quits when attempting pi[10000,1]. There is 
> neither warning nor error, and I see the same behaviour several times. I 
> have seen this both in my student version, and in my university's full 
> version of mathematica 5.2 on Linux.
> 
> Thanks in advance.
> 
> Johan
> 

Hi Johan,

using version 5.2 on Linux:

In[1]:=
pi[i_, t_] = FullSimplify[p[i] /. First[
  RSolve[{p[i] == ((2*i - 1)*Cos[t]*p[i - 1] - i*p[i - 2])/(i - 1),
     p[0] == 0, p[1] == 1}, p[i], i]], 0 < t < Pi]
Out[1]=
(-Csc[t])*LegendreP[i, 1, 2, Cos[t]]

In[2]:=
Timing[pi[10^3, 1.]]
Out[2]=
{0.012*Second, 20.77108402004459}

In[3]:=
Timing[pi[10^4, 1.]]
Out[3]=
{17.513094*Second, -2.6056199971958973}

but don't try N[pi[integer,exact number]] for large values of i:

Timing[ N[pi[10^4,1]]]
Out[6]={42.446654*Second, 2.414340966343630*10^315}

Peter


  • Prev by Date: Re: Newbie question - saving file in command-line
  • Next by Date: Re: simple equation manipulation
  • Previous by thread: Kernel Quits without error message. (Was: Better recursive method?)
  • Next by thread: Profile (Wolfram Workbench)