Files
@ 42dadc398e7d
Branch filter:
Location: AENC/switchchain/triangle_exponent_plots.m - annotation
42dadc398e7d
4.0 KiB
application/vnd.wolfram.mathematica.package
Add pdf with powerlaw sampling info
ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 32a7f1c13790 32a7f1c13790 32a7f1c13790 32a7f1c13790 9de2b1d29b5d 68c5df4ebb15 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 9de2b1d29b5d ba07c5475997 ba07c5475997 ba07c5475997 9de2b1d29b5d ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 32a7f1c13790 32a7f1c13790 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d ba07c5475997 ba07c5475997 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d ba07c5475997 ba07c5475997 9de2b1d29b5d 9de2b1d29b5d 68c5df4ebb15 68c5df4ebb15 68c5df4ebb15 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 ba07c5475997 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 9de2b1d29b5d 68c5df4ebb15 68c5df4ebb15 68c5df4ebb15 | (* ::Package:: *)
Needs["ErrorBarPlots`"]
(* ::Section:: *)
(*Triangle exponent*)
(* ::Text:: *)
(*Expected number of triangles is the following powerlaw*)
(* ::DisplayFormula:: *)
(*#triangles = const\[Cross]n^(T(\[Tau])) where T(\[Tau])=3/2 (3-\[Tau])*)
(* When importing from exponent-only-data file or property-data file *)
(* graphdata_exponent_mix32.m *)
(* graphdata_exponent_highN.m *)
(* graphdata_properties2.m *)
(* graphdata_canonical_properties.m *)
gsraw=Import[NotebookDirectory[]<>"data/graphdata_exponent_mix32.m"];
gsraw=SortBy[gsraw,#[[1,1]]&]; (* Sort by n *)
averagesGrouped=GatherBy[gsraw,{#[[1,2]]&,#[[1,1]]&}];
(* averagesGrouped[[ tau index, n index, run index , {ntau, avgtri} ]] *)
nlabels=Map["n = "<>ToString[#]&,averagesGrouped[[1,All,1,1,1]]];
taulabels=Map["tau = "<>ToString[#]&,averagesGrouped[[All,1,1,1,2]]];
mediansErrorBars=Map[
{{#[[1,1,1]],Median[#[[All,2]]]},
ErrorBar[MedianDeviation[#[[All,2]]]]
}&,averagesGrouped,{2}];
averagesErrorBars=Map[
{{#[[1,1,1]],Mean[#[[All,2]]]},
ErrorBar[StandardDeviation[#[[All,2]]]]
}&,averagesGrouped,{2}];
ErrorListPlot[averagesErrorBars,Joined->True,PlotMarkers->Automatic,PlotRange->All,AxesLabel->{"n","\[LeftAngleBracket]triangles\[RightAngleBracket]"},PlotLegends->taulabels]
ErrorListPlot[mediansErrorBars,Joined->True,PlotMarkers->Automatic,PlotRange->All,AxesLabel->{"n","median triangles"},PlotLegends->taulabels]
ListLogLogPlot[averagesErrorBars[[All,All,1]],Joined->True,PlotMarkers->Automatic,AxesLabel->{"n","\[LeftAngleBracket]triangles\[RightAngleBracket]"},PlotLegends->taulabels]
ListLogLogPlot[mediansErrorBars[[All,All,1]],Joined->True,PlotMarkers->Automatic,AxesLabel->{"n","median triangles"},PlotLegends->taulabels]
(* ::Subsection:: *)
(*Fitting the log-log-plot*)
nRange=5;;-1;
nRange=All;
averagesLoglogdata=Log[averagesErrorBars[[All,nRange,1]]];
mediansLoglogdata=Log[mediansErrorBars[[All,nRange,1]]];
averagesFits=Map[Fit[#,{1,logn},logn]&,averagesLoglogdata];
averagesFitsExtra=Map[LinearModelFit[#,logn,logn]&,averagesLoglogdata];
mediansFits=Map[Fit[#,{1,logn},logn]&,mediansLoglogdata];
mediansFitsExtra=Map[LinearModelFit[#,logn,logn]&,mediansLoglogdata];
averagesFitsExtra[[1]]["ParameterConfidenceIntervalTable"]
averagesFitsExtra[[1]]["BestFitParameters"]
averagesFitsExtra[[1]]["ParameterErrors"]
averagesFitsExtra[[1]]["ParameterConfidenceIntervals"]
plot1a=Show[ListLogLogPlot[averagesErrorBars[[All,All,1]],Joined->False,PlotMarkers->Automatic,AxesLabel->{"n","\[LeftAngleBracket]triangles\[RightAngleBracket]"},PlotLegends->taulabels],Plot[averagesFits,{logn,1,2000}]]
plot1b=Show[ListLogLogPlot[mediansErrorBars[[All,All,1]],Joined->False,PlotMarkers->Automatic,AxesLabel->{"n","median triangles"},PlotLegends->taulabels],Plot[mediansFits,{logn,1,2000}]]
Export[NotebookDirectory[]<>"plots/avgtris_n.pdf",plot1]
(* ::Subsection:: *)
(*Plot of T(\[Tau])*)
tauValues=averagesGrouped[[All,1,1,1,2]];
averagesExponents=Transpose[{tauValues,averagesFits[[All,2,1]]}];
mediansExponents=Transpose[{tauValues,mediansFits[[All,2,1]]}];
Show[ListPlot[{averagesExponents,mediansExponents},Joined->True,PlotMarkers->Automatic,AxesLabel->{"tau","exponent"},PlotRange->{{2,3},{0,1.6}}],Plot[3/2(3-tau),{tau,2,3}]]
(* ::Subsection:: *)
(*T(\[Tau]) including error bars*)
tauValues=averagesGrouped[[All,1,1,1,2]];
averagesExponentsErrorBars=Map[{{#[[1]],#[[2]]["BestFitParameters"][[2]]},ErrorBar[#[[2]]["ParameterConfidenceIntervals"][[2]]-#[[2]]["BestFitParameters"][[2]]]}&,
Transpose[{tauValues,averagesFitsExtra}]];
mediansExponentsErrorBars=Map[{{#[[1]],#[[2]]["BestFitParameters"][[2]]},ErrorBar[#[[2]]["ParameterConfidenceIntervals"][[2]]-#[[2]]["BestFitParameters"][[2]]]}&,
Transpose[{tauValues+0.01,mediansFitsExtra}]];
plot2=Show[ErrorListPlot[{averagesExponentsErrorBars,mediansExponentsErrorBars},Joined->True,PlotMarkers->Automatic,Frame->True,FrameLabel->{"tau","triangle exponent"},PlotRange->{{2,3},{0,1.6}},ImageSize->300],Plot[3/2(3-tau),{tau,2,3},PlotStyle->{Dashed}]]
Export[NotebookDirectory[]<>"plots/triangle_exponent.pdf",plot2]
|