l[a_][x_]:=a*x*(1-x)
itList[a_]:=NestList[l[a][#]&,x,7];
aStep=.01;

per1Cond=itList[a][[2]]-x//Factor;
per1pt=x/.Solve[per1Cond==0][[2]]

per2Cond=((itList[a][[3]]-x)/per1Cond)//Factor;
per2pt=x/.Solve[per2Cond==0]

pp1[u_]:=per1pt/.a->u
pp2[u_]:=per2pt[[2]]/.a->u

Manipulate[
ParametricPlot[
{{x,x},{x,pp1[a]},{x,-x+2*pp1[a]},{pp1[a],x},{x,itList[a][[2]]}}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.004]}
,PlotRange->{{0,1},{0,1}}
,PlotLabel->"1st iterate" ]
,{a,aStep,4,aStep}]

Manipulate[
ParametricPlot[
{
{x,x},{x,pp2[a]},{x,-x+2*pp2[a]},{pp2[a],x},
{x,itList[a][[2]]},{x,itList[a][[3]]}
}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.003],Thickness[.004]}
,PlotRange->{{0,1},{0,1}}
,PlotLabel->"1st & 2nd iterate" ]
,{a,aStep,4,aStep}]

Manipulate[
ParametricPlot[
{
{x,x},{x,pp2[a]},{x,-x+2*pp2[a]},{pp2[a],x},
{x,itList[a][[2]]},{x,itList[a][[3]]}
}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.003],Thickness[.004]}
,PlotRange->{{.5,.9},{.5,.9}}
,PlotLabel->"1st & 2nd iterate" ]
,{a,2.8,3.6,aStep}]

Manipulate[
ParametricPlot[
{
{x,x},{x,itList[a][[2]]},{x,itList[a][[3]]},{x,itList[a][[5]]}
}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.002],Thickness[.003],Thickness[.003],Thickness[.004]}
,PlotRange->{{0,1},{0,1}}
,PlotLabel->"1st, 2nd, & 4th iterate" ]
,{a,aStep,4,aStep}]

Manipulate[
ParametricPlot[
{
{x,x},{x,itList[a][[3]]},{x,itList[a][[5]]}
}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.002],Thickness[.003],Thickness[.004]}
,PlotRange->{{.8,.9},{.8,.9}}
,PlotLabel->"2nd & 4th iterate" ]
,{a,3.4,3.6,aStep}]

per1aSub=Solve[per1Cond==0]//Simplify;
per1a=x/.per1aSub[[2]]

per2aSub=Solve[per2Cond==0]//Simplify;
per2a=x/.per2aSub[[1]]

renormalization

pa=per1a/.a->aa
Manipulate[Show[{
Plot[
{x,itList[a][[2]],itList[a][[3]]}
,{x,0,1}
,AspectRatio->Automatic
,PlotPoints->1000
,PlotStyle->{Thickness[.001],Thickness[.002],Thickness[.004]}
,PlotLabel->"1st & 2nd iterate" ]
,
ListPlot[
{{pa,pa},{1-pa,pa},{1-pa,1-pa},{pa,1-pa},{pa,pa}}/.aa->a,
Joined->True]
}]
,{a,2,4,aStep}]

pa=per2a/.a->aa;
Manipulate[Show[{
Plot[
{x,itList[a][[2]],itList[a][[3]],itList[a][[5]]}
,{x,0,1}
,AspectRatio->Automatic
,PlotPoints->1000
,PlotStyle->{Thickness[.001],Thickness[.002],Thickness[.004],Thickness[.006]}
,PlotLabel->"1st, 2nd, 4th iterate"]
,
ListPlot[
{{pa,pa},{1-pa,pa},{1-pa,1-pa},{pa,1-pa},{pa,pa}}/.aa->a,
Joined->True]
}]
,{a,3+25*aStep,4,aStep}]

p[b_]:=per1a/.a->b;
pp[a_]:=1/a;
f[a_][x_]:=(x-p[a])/(pp[a]-p[a])
fInv[a_][u_]:=Module[{x},x/.Solve[u==f[a][x],x][[1]]]
l2[a_][u_]:=itList[a][[3]]/.x->u

f[a][l2[a][fInv[a][x]]]//fe

Rl[a_]:=(((-2+a))^2) (-1+x) x (-1+2 x-a x-2 (x^2)+a (x^2))
RlMap[a_][u_]:=Rl[a]/.x->u
RlMap[a][0]
RlMap[a][1]

Manipulate[
Plot[
{x,itList[a][[2]],Rl[a]}
,{x,0,1}
,AspectRatio->1
,PlotPoints->100
,PlotStyle->{Thickness[.001],Thickness[.002],Thickness[.004]}
,PlotLabel->{(Subscript[ll, a]),(Subscript[Rll, a])}
 ]
,{a,2+aStep,4,aStep}]

period-doubling bifurcation

per2aSub=Solve[per2Cond==0,x]//Simplify
d2specCond=D[itList[a][[3]],x]/.per2aSub//Simplify//Union
Select[a/.Solve[d2specCond[[1]]==1],#>0&]

aa=3;
Plot[
{x,itList[aa][[2]],itList[aa][[3]]}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.001],Thickness[.002],Thickness[.004]}
,Background->LightGray]

bif4=a/.Solve[d2specCond[[1]]==-1]
bif4//N

aa=bif4[[2]];
Plot[
{x,itList[aa][[3]],itList[aa][[5]]}
,{x,0,1}
,AspectRatio->Automatic
,PlotPoints->1000
,PlotStyle->{Thickness[.001],Thickness[.002],Thickness[.004]}
,Background->LightGray]

Rl2Cond=Rl[aa]-x//simp;
Rl2Per1=x/.Solve[Rl2Cond==0,x]//simp
Rl2Per1//N

D[Rl[aa],x]/.x->Rl2Per1//fs

aa=bif4[[2]];
Plot[
{x,-x+2*Rl2Per1[[4]],Rl[aa]}
,{x,0,1}
,AspectRatio->Automatic
,PlotPoints->1000
,Background->LightGray]

Manipulate[
ParametricPlot[
{{x,x},{x,itList[a][[4]]}}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.004]}
,PlotRange->{{0,1},{0,1}}
,PlotLabel->"3rd iterate" ]
,{a,aStep,4,aStep}]

Manipulate[
ParametricPlot[
{{x,x},{x,itList[a][[7]]}}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.004]}
,PlotRange->{{0,1},{0,1}}
,PlotLabel->"6th iterate" ]
,{a,aStep,4,aStep}]

it4=NestList[l[4][#]&,x,7]//fe;

Manipulate[
ParametricPlot[
{{x,x},{x,it4[[i]]}}
,{x,0,1}
,AspectRatio->1
,PlotPoints->1000
,PlotStyle->{Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.002],Thickness[.004]}
,PlotRange->{{0,1},{0,1}}
,PlotLabel->i"th iterate" ]
,{i,2,7,1}]