MathGroup Archive 2006

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

Search the Archive

Re: Re: Mathematica:recursion with 2 arguments?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg64711] Re: [mg64426] Re: Mathematica:recursion with 2 arguments?
  • From: leigh pascoe <leigh at cephb.fr>
  • Date: Tue, 28 Feb 2006 05:02:15 -0500 (EST)
  • References: <dspfp8$cfh$1@smc.vnet.net> <200602170911.EAA00666@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

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


  • Prev by Date: pictures of mathematics on a non-white background
  • Next by Date: Re: Limit
  • Previous by thread: Re: Mathematica:recursion with 2 arguments?
  • Next by thread: Eliminate Complex Roots