MathGroup Archive 2007

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

Search the Archive

Re: MathKernel crashes

  • To: mathgroup at smc.vnet.net
  • Subject: [mg72819] Re: MathKernel crashes
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Sun, 21 Jan 2007 05:25:22 -0500 (EST)
  • Organization: The Open University, Milton Keynes, UK
  • References: <eosgop$9ai$1@smc.vnet.net>

nandan wrote:
> Hallo:
> 
> MathKernel crashes, since I use recursive function for calculation. I
> have 2 of the important functions for my calculation as given below:
> $RecursionLimit=Infinity;
> 
> pi[0, \[Theta]_] := 0;
> pi[1, \[Theta]_] := 1;
> pi[i_, \[Theta]_]\  := pi[i, \[Theta]]  = ((2  i - 1)/(i - 1))
-------------------^
Extra backslash must be removed

> Cos[\[Theta]] pi[i - 1, \[Theta]] - (i/(i - 1)) pi[i - 2,\[Theta]]);
--------------------------------------------------------------------^
Extra parentheses must be removed

> \[Tau][i_, \[Theta]_] := \[Tau][i, \[Theta]] = i Cos[\[Theta]] pi[i,
> \[Theta]] - (i + 1)pi[i - 1, \[Theta]];

Here is a corrected version of the code:

In[1]:=
pi[0, θ_] = 0;
pi[1, θ_] = 1;
pi[i_, θ_] := pi[i, θ] =
     ((2*i - 1)/(i - 1))*Cos[θ]*pi[i - 1, θ] -
      (i/(i - 1))*pi[i - 2, θ];
Ï?[i_, θ_] := Ï?[i, θ] = i*Cos[θ]*pi[i, θ] -
      (i + 1)*pi[i - 1, θ];

In[5]:=
pi[14, Pi/3]

Out[5]=
30439185
--------
8388608

> In this case, I can get solution to any numerical value like pi[14,
> \[Pi]/3]. But quite a few times, it happened that MathKernel quitted,I

It would have been nice that you provided an example of such a call.

> started again, but it started another processor parallel to that. Later

Not sure to understand what you mean: if the kernel really quits, you 
have no more kernel process loaded into memory.

> I wanted to calculate another function as follows:
> S1Temp[i_, \[Theta]_] := ((2 l + 1)/(l (l + 1))) (an[l] pi[l, \[Theta]]
---------^
Inconsistent syntax: i is never used in the code: do you mean l? At any 
rate, this definition will cause an infinite recursion whenever it is 
called. Increasing $RecursionLimit will do nothing.

>  + bn[l]  \[Tau][l, \[Theta]]);
>
> But in this case, whenever I try to calculate S1Temp[14, \[Pi]/3], it
> simply quits and, sometimes crashes. I have to always restart
> Mathematica to start over again.

Here is a corrected version of the code:

In[6]:=
S1Temp[l_, θ_] := ((2*l + 1)/(l*(l + 1)))*
     (an[l]*pi[l, θ] + bn[l]*Ï?[l, θ]);

In[7]:=
S1Temp[14, Pi/3]

Out[7]=
29   30439185 an[14]   115937115 bn[14]
--- (--------------- - ----------------)
210      8388608           8388608

Now, the above result might or might not be what you expected since you
did not provide any definition for an[i] and bn[i]. (Are they functions 
or arrays of values?)

Regards,
Jean-Marc


  • Prev by Date: Re: Help with plotting and iterations
  • Next by Date: Re: how to quickly read a >10MB big file
  • Previous by thread: MathKernel crashes
  • Next by thread: Re: MathKernel crashes