MathGroup Archive 2002

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

Search the Archive

memoizing functions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg32420] memoizing functions
  • From: Erich Neuwirth <erich.neuwirth at univie.ac.at>
  • Date: Sat, 19 Jan 2002 19:03:15 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

I have the following )recursive) function:

Kleber[0, k_] := Kleber[0, k] = 1
Kleber[n_, 0] /; n > 0 := Kleber[n, 0] = 0
Kleber[n_, k_] /; (n > 0) && (k > 0) && (k <= n) := 
  Kleber[n, k] = 
    Kleber[n, k - 1] - Kleber[n - 1, k] + Kleber[n - 1, 2*k - 1] + 
      Kleber[n - 1, 2*k]
Kleber[n_, k_] /; (n > 0) && (k > 0) && (k > n) && (k <= 2*n + 2) := 
  Kleber[n, k] = 
    Sum[(-1)^(j - 1)*Binomial[n + 1, j]*Kleber[n, k - j], {j, 1, n + 1}]


it memorizes the values, so next time it is called it will not
unfold the recursion for values it has calculated before.

for benachmarking purposes, i want to introduce "amnesia", i.e. i want
the function to forget its previously calculated values,
but not its definition.

can this be done?



--
Erich Neuwirth, Computer Supported Didactics Working Group
Visit our SunSITE at http://sunsite.univie.ac.at
Phone: +43-1-4277-38624 Fax: +43-1-4277-9386


  • Prev by Date: combining lists
  • Next by Date: Re: Pink Parentheses
  • Previous by thread: RE: combining lists
  • Next by thread: Re: memoizing functions