MathGroup Archive 2005

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

Search the Archive

Re: Recursion question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg55516] Re: [mg55498] Recursion question
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Sun, 27 Mar 2005 02:42:53 -0500 (EST)
  • References: <200503260739.CAA21875@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

rbedient at hamilton.edu wrote:
> I have a set of single step recursion equations that I want to simplify
> into a single multi-step equation.  Here's what it looks like:
> 
> a[n]=4*a[n-1]*(1-a[n-1])
> b[n]=4*b[n-1]*(1-b[n-1])
> c[n]=(a[n]+b[n])/2
> a[1]=.1  <-arbitrary starting value
> b[1]=.8  <-arbitrary starting value
> 
> What I'm hoping for is something like:
> 
> c[n]=some function of c[n-1], c[n-2]...
> 
> I've tried various combinations of Solve, RSolve, Simplify etc. to no
> avail.  Any help would be appreciated.
> 
> Fairly Newbie
> 
> Dick


You need to acquire sufficiently many polynomials to eliminate all 
a[...] and b[...] variables. One can observe that this is accomplished 
if we go to {a,b,c}[n-2].

polys = {a[n]-4*a[n-1]*(1-a[n-1]), b[n]-4*b[n-1]*(1-b[n-1]),
   c[n]-(a[n]+b[n])/2, c[n-1]-(a[n-1]+b[n-1])/2};
polysm1 = polys /. n->n-1;
allpolys = Union[polys,polysm1]
cvars = Cases[Variables[allpolys],c[_]];
elims = Complement[Variables[allpolys], cvars];

Here is the desired relation.

In[24]:= InputForm[gb = GroebnerBasis[allpolys, cvars, elims]]

Out[24]//InputForm=
{-64*c[-2 + n] + 320*c[-2 + n]^2 - 512*c[-2 + n]^3 + 256*c[-2 + n]^4 +
   20*c[-1 + n] - 64*c[-2 + n]*c[-1 + n] + 64*c[-2 + n]^2*c[-1 + n] -
   4*c[-1 + n]^2 - c[n]}


Daniel Lichtblau
Wolfram Research



  • Prev by Date: Re: numerical solutions to two non algebraic equations.
  • Next by Date: Re: Recursion question
  • Previous by thread: Recursion question
  • Next by thread: Re: Re: Recursion question