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