After getting help from users on this list, I wrote an example on how to iterate a discrete map using a given initial condition as follows:
NestList := proc (f, x, n::nonnegint, nprec::posint := 10) local R, k; R := rtable(0 .. n, [x]); Digits := nprec; for k to n do R[k] := expand(f(R[k-1])) end do; [seq(R)] end proc:
logistic := proc (x) options operator, arrow; 4*x*(1-x) end proc:
fp := [solve((logistic@@5)(x) = x, x)]:
cfp := allvalues(fp);
p := nstep+50;
aaa := Flatten(map(`~`[Re], evalf(NestList(logistic, evalf(cfp), p))));
dat := [seq([i-nstep-1, aaa[i]], i = 1 .. p)];
plot(dat, style = pointline, symbol = solidcircle, symbolsize = 4, thickness = 0, view = [default, 0 .. 1]);
The result should be a period 5 and some chaotic data due to machine precision. However the trajectory ejected to infinity. I have tried with a different initial condition, say 0.1, and it worked just fine. Even if the precision is increased, the trajectory (orbit) will eventually eject to infinity. I couldn't spot what is wrong.
I am running Maple 2017 on linux and on a mac.