[Date Index] [Thread Index] [Author Index]
Re: Re: Mathematica:recursion with 2 arguments?
OT wrote: Hi,everybody: My English is a little poor.But I have a very flustered problem to consult you.Who can help me? Here is the prob: IF function f(m,n)(m,n are non-negative integers)satisfying 3 conditions: f(0,n)=n+1,f(m+1,0)=f(m,1) and f(m+1,n+1)=f[m,f(m+1,n)],then how can we use Wolfram's Mathematica to solve f(m,1),f(m,2),f(m,3) and so on.I can get f(1,n)=n+2,f(2,n)=n+3,f(3,n)=2^(n+3)-3 by hand and pen(but how by Mathematica?).Surely,f(4,n) is very complicated. Who can use Mathematica's language (recursion or iteration etc.) to solve them out? Friends,help me--a poor person,please!!!!!! ClearAll[g] g[m_, 0] := (g[m, 0] = g[m - 1, 1]) /; (m > 0) g[m_, n_] := (g[m, n] = g[m - 1, g[m, n - 1]]) /; m*n > 0 g[0, n_] := n + 1 g[0, 0] = 1 this works, but if you try to calculate it for m >= 4 you will get the error "$RecursionLimit::reclim: Recursion depth of 256 exceeded." You can try to find more rules to "simplify some recursions", or put $RecursionLimit = Infinity and wait some hours... A simple function that will generate all the values quickly is f[m_,n_]:=m+n+1 This function satisfies the three initial recurrence relations and doesn't rely on recursion to generate values. LP