96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
%%% R code to generate the input data files from corresponding simulation logs
 | 
						|
% R> setwd("~/Work/tensorPredictors")
 | 
						|
% R>
 | 
						|
% R> for (sim.name in c("2a")) {
 | 
						|
% R>     pattern <- paste0("sim\\_", sim.name, "\\_ising\\-[0-9T]*\\.csv")
 | 
						|
% R>     log.file <- sort(
 | 
						|
% R>         list.files(path = "sim/", pattern = pattern, full.names = TRUE),
 | 
						|
% R>         decreasing = TRUE
 | 
						|
% R>     )[[1]]
 | 
						|
% R>
 | 
						|
% R>     sim <- read.csv(log.file)
 | 
						|
% R>
 | 
						|
% R>     aggr <- aggregate(sim[, names(sim) != "sample.size"], list(sample.size = sim$sample.size), mean)
 | 
						|
% R>
 | 
						|
% R>     write.table(aggr, file = paste0("LaTeX/plots/aggr-", sim.name, "-ising.csv"), row.names = FALSE, quote = FALSE)
 | 
						|
% R> }
 | 
						|
\documentclass[border=0cm]{standalone}
 | 
						|
 | 
						|
\usepackage{tikz}
 | 
						|
\usepackage{pgfplots}
 | 
						|
\usepackage{amssymb, bm}
 | 
						|
 | 
						|
\definecolor{exact}{RGB}{230,0,0}
 | 
						|
\definecolor{MC}{RGB}{30,180,30}
 | 
						|
\definecolor{MCthrd}{RGB}{0,0,230}
 | 
						|
 | 
						|
\pgfplotsset{
 | 
						|
    compat=newest,
 | 
						|
    grid=both,
 | 
						|
    grid style={gray!15}
 | 
						|
}
 | 
						|
\tikzset{
 | 
						|
    legend entry/.style={
 | 
						|
        mark = *,
 | 
						|
        mark size = 1pt,
 | 
						|
        mark indices = {2},
 | 
						|
        line width=0.8pt
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
\begin{document}
 | 
						|
\begin{tikzpicture}[>=latex]
 | 
						|
 | 
						|
    \begin{axis}[
 | 
						|
        name=perft,
 | 
						|
        xmode = normal, ymode = log,
 | 
						|
        xtick={10, 30, 50, 70, 90, 110, 130},
 | 
						|
        mark = *,
 | 
						|
        mark size = 1pt,
 | 
						|
        ytick={1,1e1,1e2,1e3,1e4,1e5,1e6,1e7},
 | 
						|
        yticklabels={$1\mu s$,$10\mu s$,$100\mu s$,$1 ms$,$10 ms$,$100 ms$,$1 s$,$10 s$},
 | 
						|
        xlabel = {Dimension $p$},
 | 
						|
        ylabel = {Time}
 | 
						|
    ]
 | 
						|
        \addplot[
 | 
						|
            only marks,
 | 
						|
            color = exact
 | 
						|
        ] table[x = dim, y = exact] {aggr-ising-perft-m2.csv};
 | 
						|
        \addplot[
 | 
						|
            only marks,
 | 
						|
            color = MC
 | 
						|
        ] table[x = dim, y = MC] {aggr-ising-perft-m2.csv};
 | 
						|
        \addplot[
 | 
						|
            only marks,
 | 
						|
            color = MCthrd
 | 
						|
        ] table[x = dim, y = MCthrd] {aggr-ising-perft-m2.csv};
 | 
						|
 | 
						|
        \addplot[smooth, domain = 8:25,  color = exact,  samples = 64] { 2^(x - 3) };
 | 
						|
        \addplot[smooth, domain = 1:130, color = MC,     samples = 64] {
 | 
						|
            -18340.8 + 7557.0 * x + 200.3 * x^2
 | 
						|
        };
 | 
						|
        \addplot[smooth, domain = 1:130, color = MCthrd, samples = 64] {
 | 
						|
            8413.21 + 3134.98 * x + 41.87 * x^2
 | 
						|
        };
 | 
						|
    \end{axis}
 | 
						|
 | 
						|
    \matrix[anchor = west] at (perft.east) {
 | 
						|
        \draw[color=exact,  only marks, mark = *, mark size = 1pt, mark indices = {2}] plot coordinates {(0, 0) (.3, 0) (.6, 0)};
 | 
						|
        & \node[anchor=west] {exact}; \\
 | 
						|
        \draw[color=exact,  line width = 0.8pt] plot coordinates {(0, 0) (.4, 0)};
 | 
						|
        & \node[anchor=west] {$\mathcal{O}(2^p)$}; \\
 | 
						|
        \draw[color=MC,  only marks, mark = *, mark size = 1pt, mark indices = {2}] plot coordinates {(0, 0) (.3, 0) (.6, 0)};
 | 
						|
        & \node[anchor=west] {MC}; \\
 | 
						|
        \draw[color=MC,  line width = 0.8pt] plot coordinates {(0, 0) (.4, 0)};
 | 
						|
        & \node[anchor=west] {$\mathcal{O}(p^2)$}; \\
 | 
						|
        \draw[color=MCthrd,  only marks, mark = *, mark size = 1pt, mark indices = {2}] plot coordinates {(0, 0) (.3, 0) (.6, 0)};
 | 
						|
        & \node[anchor=west] {MC (8 thrd)}; \\
 | 
						|
        \draw[color=MCthrd,  line width = 0.8pt] plot coordinates {(0, 0) (.4, 0)};
 | 
						|
        & \node[anchor=west] {$\mathcal{O}(p^2)$}; \\
 | 
						|
    };
 | 
						|
 | 
						|
    \node[anchor = south] at (current bounding box.north) {Ising Second Moment Performance Test};
 | 
						|
 | 
						|
\end{tikzpicture}
 | 
						|
\end{document}
 |