MathGroup Archive 2005

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

Search the Archive

Re: Finding length in recursive definition?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg60984] Re: Finding length in recursive definition?
  • From: "Jose Reckoner" <reckoner at gmail.com>
  • Date: Thu, 6 Oct 2005 04:08:25 -0400 (EDT)
  • References: <dhlcj2$d16$1@smc.vnet.net><dhnsr6$1f5$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Please explain the blanks in HoldPattern[_[_[f[nn_Integer]], _]].

I don't understand what's going on here.

Thanks!

Jose

albert wrote:
> Jose  Reckoner wrote:
>
> > I have something like:
> > f[1] = 1
> > f[2] = 3
> > f[n_] := f[n] = f[n - 1] + f[n - 2]
> >
> > and in the course of work, f[n] gets evaluated an unknown number of
> > times resulting in
> >
> >>> ?f
> > f[1] = 1
> > f[2] = 3
> > f[3] = 4
> > f[n_] := f[n] = f[n - 1] + f[n - 2]
> >
> > I want to figure out the greatest integer n such that f[n] has already
> > been computed and is stored. In this case, it is 3.
> >
> > How can I do this?
>
> I think this will do what you want:
>
> Max[Cases[DownValues[f], HoldPattern[_[_[f[nn_Integer]], _]] :> nn]]
>
> all patterns for f are stored in DownValues[f], the Cases extracts all
> patterns where the argument of f is an integer and replaces them by this
> integer...
> 
> Albert


  • Prev by Date: Re: String to list
  • Next by Date: Re: Re: String to list
  • Previous by thread: Re: Finding length in recursive definition?
  • Next by thread: mole units