ClearAll;
$DefaultFont = {"Times-Roman",10};
Needs["Graphics`Graphics`"];

n = 22;
ratpupilradii = {0.25,0.25,0.375,0.375,0.375,0.375,0.5,0.5,0.5, 0.5,0.5,
				 0.5, 0.5, 0.75, 0.75, 0.75, 1.0,  1.0,1.0,1.25,1.5,1.75};
Q[c_,s_] = n(Log[c] - c Log[s]) + (c-1)Apply[Plus,Log[ratpupilradii]] -
			Apply[Plus,ratpupilradii^c]/s^c;

eps = 0.000025;
cmle = c/.FindMinimum[-Q[c,s],{c,1.9},{s,0.8}][[2]];
smle = s/.FindMinimum[-Q[c,s],{c,1.9},{s,0.8}][[2]];

xticks = {2,{2.05," "},2.1,{2.15," "},{2.2," "},2.25};
yticks = {{0.8," "},{0.825," "},0.85,{0.875," "},0.9};
zticks = {-8.25,-8};
axeslabels = Graphics3D[{Text[FontForm["c",{"Times-Roman",10}],{2.3,0.7,-10}],
					   Text[FontForm["s",{"Times-Roman",10}],{1.75,0.92,-10}],
					   Text[FontForm["z",{"Times-Roman",10}],{1.75,0.72,-7.9}]}];
					   
left = Show[Plot3D[Q[c,s],{c,1.75,2.25},{s,0.7,0.9},
				AxesEdge->{{-1,-1},{-1,-1},{-1,-1}},
				ViewPoint->{2,2,2},
				BoxRatios->{1,1,1},
				Shading->True,
				ClipFill->None,
				PlotRange->{{1.75,2.25},{0.7,0.9},{-10,-7.9}},
				Boxed->False,
				Axes->True,
				AxesLabel->None,
				Mesh->True,
				Ticks->{xticks,yticks,zticks},
				PlotLabel->"(a)  z = Q(c,s)",
				MeshStyle->Dashing[{0.01,0.01}]],
				axeslabels];
right = ContourPlot[Q[c,s],{c,1.75,2.25},{s,0.7,0.9},
			Contours->{Q[cmle,smle]-eps,-7.98,-8,-8.1,-8.2,-8.3,-8.4,-8.5,-8.6,-8.7,-8.8,-8.9,
					   -9.0,-9.1,-9.2,-9.3,-9.4,-9.5,-9.6,-9.7,-9.8,-9.9},
			Frame->False,
			PlotPoints->200,
			Axes->True,
			AspectRatio->1/GoldenRatio,
			PlotLabel->"(b)  Q(c,s) = constant",
			AxesLabel->{"c","s"}];

Show[GraphicsArray[{left,right}],PlotLabel->"                                 Figure 31.4\n
	Loglikelihood function for sample of rat pupil radii"]