[Date Index]
[Thread Index]
[Author Index]
Re: Part specification... is neither an integer nor a list of integers
*To*: mathgroup at smc.vnet.net
*Subject*: [mg109699] Re: Part specification... is neither an integer nor a list of integers
*From*: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
*Date*: Wed, 12 May 2010 07:34:50 -0400 (EDT)
Hi,
your first element in your list is 0. In the call s[[Last[s]]] you are taking
the zero'th element of s which is the head "List". This is sure not what you
want.
Check this out:
g[0] = 0
g[n_] := g[n] = n - g[g[n - 1]]
but note that the $RecursionLimit is set to 256 per default, so:
$RecursionLimit = 2000;
g[1900]
Cheers
Patrick
Am May 11, 2010 um 12:28 PM schrieb Chandler May:
> Hi Mathematica sages,
>
> I want to implement a recursive function on the natural numbers:
>
> g(n) = n - g(g(n-1))
> g(0) = 0
>
> First I tried the following in Mathematica.
>
> g[0] := 0
> g[n_] := n - g[g[n-1]]
>
> This worked, but it was much too slow. In hopes of reducing the
> number computations, I thought I would make a function gseq[n_] to
> generate the sequence of successive values of g(n) like so:
>
> gseq[0] := {0}
> gseq[n_] := With[{s=gseq[n-1]}, Append[s, n - s[[Last[s]]]]]
>
> However, when I ask for gseq[n] for n > 1, Mathematica complains that
> the "Part specification... is neither an integer nor a list of
> integers", like the first line here
> <http://reference.wolfram.com/mathematica/ref/message/General/pspec.html
> >
> (sorry, I don't have Mathematica in front of me at the moment).
> gseq[1] gives me something like {0, 1 - List}.
>
> What exactly is going wrong, and how do I mend it? Also, in the With
> construct, will gseq[n-1] be evaluated once and stored in s, or will
> every instance of s be replaced by a call to gseq[n-1] (so that
> gseq[n-1] is wastefully evaluated three times per call to gseq[n])?
> If gseq[n-1] will be evaluated more than once (per call to gseq[n]),
> is there a way to change the code so that it won't be? If there's a
> better way to efficiently implement g(n) altogether, please share (but
> please don't reveal any mathematical properties about the particular
> function g(n)--don't spoil my fun).
>
> Thanks,
> Chandler
>
Prev by Date:
**Re: Part specification... is neither an integer nor a list of integers**
Next by Date:
**Re: Announce: O'Reilly Mathematica Cookbook Published**
Previous by thread:
**Re: Part specification... is neither an integer nor a list of integers**
Next by thread:
**Re: Part specification... is neither an integer nor a list of integers**
| |