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