and the diagonal $y=x$. This map expresses chaotic behavior for certain values of $\mu$. We can examine "orbits" of this system by looking at what values the map bounces around to. A cobweb diagram is a good way to see these "orbits".

Task 1. Find the parameter values at which the stable period $2^1$, $2^2$, and $2^3$ orbits are first created. Label these $\mu_1$, $\mu_2$, $\mu_3$.

In [241]:

%%cythonimportnumpyasnpcimportnumpyasnpdefcobweb(f,intn=100,intstart=0,floatinitial=0.5):""" Generate the path for a cobweb diagram """cdefnp.ndarray[np.float64_t,ndim=2]web=np.zeros((n,2))web[0,0]=initialweb[0,1]=initialcdefintstate=1foriinrange(1,n):ifstate:web[i,0]=web[i-1,0]web[i,1]=f(web[i-1,0])else:web[i,0]=web[i-1,1]web[i,1]=web[i-1,1]state^=Truereturnweb[start:]

Using the Mac tool, we can find these values to be as follows. Note however, that this is by no means an exact process, and reliability should be questioned. We can recreate the mac tool by using ipywidgets in the IPython Notebook.

We've already noted that the accuracy of finding these bifurcation points was low, let's instead examine a bifurcation diagram. A bifurcation diagram is essentially a probabilistic view of our map for different values of $\mu$. For the following plots, the $x$-axis is differing values of $\mu$, and the $y$-axis is a large number of plotted values after the transient.

We note that these values are not that close to the real Feigenbaum constant, which is probably due to error with the bifurcation point locating process. In other words, I'm not that good at finding the exact point at which it bifurcates.