Changeset - 0c1d9b074f49
[Not reviewed]
1 0 4
Tom Bannink - 8 years ago 2017-06-03 15:33:22
tombannink@gmail.com
Add plots of dsp correlations
5 files changed with 70 insertions and 0 deletions:
0 comments (0 inline, 0 general)
plots/dsp_correlations.pdf
Show inline comments
 
new file 100644
 
binary diff not shown
plots/timeevol.pdf
Show inline comments
 
deleted file
 
binary diff not shown
plots/timeevol_22.pdf
Show inline comments
 
new file 100644
 
binary diff not shown
plots/timeevol_26.pdf
Show inline comments
 
new file 100644
 
binary diff not shown
triangle_dsp_correlation_plots.m
Show inline comments
 
new file 100644
 
(* ::Package:: *)
 

	
 
Needs["ErrorBarPlots`"]
 

	
 

	
 
(* ::Section:: *)
 
(*Data import*)
 

	
 

	
 
gsraw=Import[NotebookDirectory[]<>"data/graphdata_dsp.m"];
 
(* gsraw=SortBy[gsraw,{#[[1,1]]&,#[[1,2]]&}]; (* Sort by n and then by tau. The {} forces a *stable* sort because otherwise Mathematica sorts also on triangle count and other things. *) *)
 

	
 

	
 
gdata=GatherBy[gsraw,{#[[1,2]]&,#[[1,1]]&}];
 
(* Data format: *)
 
(* gdata[[ tau index, n index, run index , datatype index ]] *)
 
(* datatype index:
 
1: {n,tau}
 
2: avgtris
 
3: dsp
 
*)
 
nlabels=Map["n = "<>ToString[#]&,gdata[[1,All,1,1,1]]];
 
taulabels=Map["tau = "<>ToString[#]&,gdata[[All,1,1,1,2]]];
 

	
 

	
 
(* ::Section:: *)
 
(*Plot triangle counts vs dsp*)
 

	
 

	
 
(* ::Subsection:: *)
 
(*Compute dsp from ds*)
 

	
 

	
 
getProperty[ds1_]:=Module[{ds,n=Length[ds1],tmp=ConstantArray[0,{Length[ds1],Length[ds1]}]},
 
ds=N[ds1/Sqrt[N[Total[ds1]]]]; (* scale degrees by 1/Sqrt[total] *)
 
(* The next table contains unneeded entries, but its faster to have a square table for the sum *)
 
tmp=Table[1.-Exp[-ds[[i]]ds[[j]]],{i,1,n},{j,1,n}];
 
Sum[tmp[[i,j]]*tmp[[j,k]]*tmp[[i,k]],{i,3,n},{j,2,i-1},{k,1,j-1}] (* somehow i>j>k is about 60x faster than doing i<j<k !!! *)
 
(* This sparser table is slower
 
tmp=Table[1.-Exp[-ds[[i]]ds[[j]]],{i,1,n-1},{j,i+1,n}];
 
(* tmp[[a,b]] is now with  ds[[a]]*ds[[a+b]] *)
 
Sum[tmp[[i,j-i]]*tmp[[j,k-j]]*tmp[[i,k-i]],{i,1,n-2},{j,i+1,n-1},{k,j+1,n}]
 
*)
 
];
 

	
 

	
 
(* gdata[[ tau index, n index, run index , {ntau, #tris, ds} ]] *)
 
avgAndProp=ParallelMap[{getProperty[#[[3]]],Mean[#[[2,1;;-1]]]}&,gdata[[2,2,1;;100]]];
 

	
 

	
 
(* ::Subsection:: *)
 
(*Plot #trianges vs some degree-sequence-property*)
 

	
 

	
 
allPlots=Map[Show[
 
ListPlot[#[[All,{2,3}]],
 
AxesOrigin->{0,0},
 
Frame->True,FrameLabel->{"degree-sequence-property","average number of triangles"},
 
AspectRatio->Automatic,
 
ImageSize->Automatic,
 
PlotLabel->"n = "<>ToString[#[[1,1,1]]]<>" , \[Tau] = "<>ToString[#[[1,1,2]]],
 
PlotStyle->Black
 
],Plot[x,{x,1,10000}]]
 
&,gdata,{2}]
 

	
 

	
 
plotgrid=GraphicsRow[{GraphicsColumn[allPlots[[{1,2},1]]],allPlots[[3,1]]},Spacings->0,ImageSize->600]
 

	
 

	
 
Export[NotebookDirectory[]<>"plots/dsp_correlations.pdf",plotgrid]
0 comments (0 inline, 0 general)