Consider the following situation: I have a function f, say
f:=x -> 1+x^2/n;
I want to compute the composition of f with itself; e.g.
So it appears eval does evaluate the threefold composition but not at n=3. Obviously I can wrap this example in a subs() or another eval to get the replacement done; but it is a bit curious and I wonder whether this behaviour is as designed or an "undocumented feature."
I ran across this when investigating whether or how to do the composition for an arbitrary n (so I can e.g. find the limit for n=infinity) and really wanted to ask about that, but I see that such a question was dealt with before by Joe Riel using rsolve so I'll see first how far that approach gets me. In my case the function will be a polynomial vector function with vectorial arguments, providing for some additional challenge.