Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1992
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1992

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

Search the Archive

Re.Iterations.. (function composition)

  • To: mathgroup at yoda.physics.unc.edu
  • Subject: Re.Iterations.. (function composition)
  • From: gaylord at ux1.cso.uiuc.edu
  • Date: Thu, 23 Apr 1992 16:40:05 -0500

spagiola at leland.stanford.edu writes:

I'm looking for a way to achieve the following result a little more  
elegantly:

a[s]
g[%]
a[%]
g[%]
a[%]
g[%]
...
You get the idea.  I have a function a[] that takes an initial value  
of s as its argument.  A second function g[] takes the result of a[]  
and modifies the value of s, which then passes back to a[], etc. (If  
you're curious, this is for a natural resource model in which current  
actions affect the resource stock, which in turn affects future  
actions.)

I'm sure this is quite simple and that I'm just missing something  
obvious, but after spending several hours playing with Do[],  
NestList[], FoldList[] etc, I cannot seem to get what I want.

I also need to recover every value, so that i can plot a[] and s[]  
(separately).  I'd also like to be able to either specify the number  
of iterations or let it converge to a point where it no longer  
changes.

=================================

it looks like you want to compose a and g (a functional programming thing).

eg., 

Nest[Composition[g, a], s, 3]
g[a[g[a[g[a[s]]]]]]

NestList[Composition[g, a], s, 3]
{s, g[a[s]], g[a[g[a[s]]]], g[a[g[a[g[a[s]]]]]]}

note that this gives g[a[g[a[s]]]]  but not a[g[a[s]]] but it doesn't look
too hard to get the latter (i would try it now but i will be killed if i
don't  come to dinner Immediately) 

see p.213 in the bible for more detail  (it might be useful to read a book
on functional programming as well ( eg., Chris Reade).

btw - for convergence, you can of course use FixedPointList in the same
construction.

got to go or my wife will not only name my copy of Mathematica as
corespondent in the divorce but probably ask for custody of both it and my
Mac. 






  • Prev by Date: Re: Limits to Det Function
  • Next by Date: Re: determinants
  • Previous by thread: Signal Processing ftp server update
  • Next by thread: Sqrt