| \documentclass[letterpaper,11pt]{scrreprt} |
| \usepackage[american]{babel} |
| \usepackage[latin1]{inputenc} |
| \usepackage[T1]{fontenc} |
| \usepackage[top=1in,bottom=1in,left=1in,right=1in]{geometry} |
| \usepackage{lmodern} |
| |
| \usepackage[sumlimits]{amsmath} |
| \usepackage{amssymb} |
| \usepackage{relsize} |
| \usepackage[hyperref]{ntheorem} |
| \usepackage[ |
| bookmarks, |
| colorlinks=false, |
| breaklinks=true, |
| linkcolor=blue, |
| citecolor=blue, |
| pagebackref=false, |
| pdftitle={MADlib Design Document}, |
| pdfauthor={Predictive Analytics Team, Pivotal Inc.}, |
| pdfsubject={}, |
| pdfkeywords={} |
| ]{hyperref} |
| \usepackage{csquotes} % Strongly recommended for biblatex |
| \usepackage[ |
| backend=bibtex, |
| maxnames=2, |
| maxbibnames=20, |
| firstinits=true |
| ]{biblatex} |
| \usepackage{scrpage2} % Headers and footers |
| \usepackage{scrhack} |
| \usepackage{color} % Colors, possibly only for \todo |
| \usepackage{enumitem} % enumerate environment |
| \usepackage{ctable} |
| \usepackage{tabularx} |
| \usepackage{xspace} % Correct spaces after \newcommand definitions |
| \usepackage[noend]{algpseudocode} % algorithm environment |
| \usepackage{listings} % Code snippets |
| \usepackage{bbding} |
| |
| % BEGIN Doc Layout |
| \allowdisplaybreaks[3] |
| |
| \pagestyle{scrheadings} |
| \automark[chapter]{section} |
| |
| \setkomafont{disposition}{\normalcolor\bfseries} |
| \setkomafont{descriptionlabel}{\bfseries} |
| \setkomafont{captionlabel}{\usekomafont{disposition}} |
| |
| \setlength{\arrayrulewidth}{.5pt} |
| \numberwithin{equation}{section} |
| \renewcommand{\theenumi}{\roman{enumi}} |
| \renewcommand{\labelenumi}{\theenumi)} |
| |
| \newcommand{\otoprule}{\midrule[\heavyrulewidth]} |
| |
| \setcounter{secnumdepth}{3} |
| |
| \makeatletter |
| % Algorithms are expected to have an optional argument of form |
| % FunctionName$(ArgumentList)$, e.g., DiscreteSample$(A, w)$ |
| \def\internal@funcName#1$(#2)${#1} |
| \newcommand\funcName[1]{\internal@funcName #1} |
| \newtheoremstyle{algorithm} |
| {\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont |
| ##1\ ##2\theorem@separator}\hbox{\strut}}}]}% |
| {\item[\rlap{\vbox{\hbox{\hskip\labelsep {\theorem@headerfont |
| ##1}\ \normalfont\texttt{##3}{\theorem@headerfont\theorem@separator}}\hbox{\strut}}}]% |
| \def\@currentlabel{\texttt{\funcName{##3}}}} |
| \makeatother |
| |
| \makeatletter |
| % Also display JSTOR in small caps |
| % http://sourceforge.net/tracker/index.php?func=detail&aid=3152938&group_id=244752&atid=1126006 |
| \DeclareFieldFormat{eprint:arxiv}{% |
| \textsc{arXiv}\addcolon |
| \ifhyperref |
| {\href{http://arxiv.org/\abx@arxivpath/#1}{% |
| \nolinkurl{#1}% |
| \iffieldundef{eprintclass} |
| {} |
| {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}} |
| {\nolinkurl{#1} |
| \iffieldundef{eprintclass} |
| {} |
| {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}} |
| \DeclareFieldFormat{eprint:jstor}{% |
| \mkbibacro{JSTOR}\addcolon\space |
| \ifhyperref |
| {\href{http://www.jstor.org/stable/#1}{\nolinkurl{#1}}} |
| {\nolinkurl{#1}}} |
| % Some conferences do not have DOIs for their papers, but they do get |
| % IDs in the ACM Digital Library. E.g., SODA papers. |
| \DeclareFieldFormat{eprint:acm}{% |
| \mkbibacro{ACM}\addcolon\space |
| \ifhyperref |
| {\href{http://dl.acm.org/citation.cfm?id=#1}{\nolinkurl{#1}}} |
| {\nolinkurl{#1}}} |
| \makeatother |
| |
| \newlist{moduleinfo}{description}{2} |
| \setlist[moduleinfo]{style=multiline,labelindent=\leftmargini,leftmargin=3cm,rightmargin=\leftmargini,font=\bfseries} |
| \newlist{modulehistory}{description}{2} |
| \setlist[modulehistory]{style=multiline,leftmargin=1.1cm} |
| % END Doc Layout |
| |
| % BEGIN General Definitions |
| \newcommand{\todo}[1]{\textbf{\color{red}#1}} |
| |
| \newcommand{\specialcell}[3][t]{% |
| \begin{tabular}[#1]{@{}#2@{}}#3\end{tabular}} |
| |
| % BEGIN Mathematical Definition |
| % Space (only) in displaymath (e.g., between mathematical expression and punctuation mark) |
| \newcommand{\SiM}{\mathchoice{\,}{}{}{}} |
| % END Mathematical Operators |
| |
| % BEGIN URLs |
| \newcommand{\mailto}[1]{\href{mailto:#1}{\nolinkurl{#1}}} |
| \newcommand{\doi}[1]{DOI: \href{http://dx.doi.org/#1}{\nolinkurl{#1}}} |
| % END URLs |
| |
| \makeatletter |
| % BEGIN Mathematical Definitions |
| % BEGIN Set Symbols |
| \newcommand{\setsymbol}[1]{\mathbb{#1}} |
| \newcommand{\N}{\@ifstar{\setsymbol{N}_0}{\setsymbol{N}}} |
| \newcommand{\R}{\setsymbol{R}} |
| \newcommand{\Nupto}{\@ifstar{\Nupto@star}{\Nupto@nostar}} |
| \newcommand{\Nupto@star}[1]{[#1]_0} |
| \newcommand{\Nupto@nostar}[1]{[#1]} |
| % END Set Symbols |
| \renewcommand{\vec}[1]{\ensuremath{\boldsymbol{#1}}} |
| % shortcut for partial derivatives |
| \newcommand{\pder}[2][]{\frac{\partial#1}{\partial#2}} |
| |
| % END Mathematical Definitions |
| \makeatother |
| |
| \renewcommand{\vec}[1]{\ensuremath{\boldsymbol{#1}}} |
| \newcommand{\enumref}[1]{(\ref{#1})} |
| |
| \makeatletter |
| \newcommand{\symlabel}[2]{\def\@currentlabel{\texttt{#1}}\texttt{#1}\label{#2}} |
| \makeatother |
| |
| \newcommand{\Warning}[1]{\marginpar[\HandRight]{\HandLeft}\textbf{#1}} |
| |
| % BEGIN Algorithms |
| \theoremstyle{algorithm} |
| \theorembodyfont{\upshape} |
| \newtheorem{algorithm}{Algorithm}[section] |
| |
| \newlength{\alglabelwidth} |
| \newcommand{\alginput}[1]{% |
| \par\noindent% |
| \settowidth{\alglabelwidth}{\emph{Output:}}% |
| \makebox[\alglabelwidth][l]{\emph{Input:}} \begin{tabular}[t]{l} #1 \end{tabular}} |
| \newcommand{\algoutput}[1]{% |
| \par\noindent% |
| \settowidth{\alglabelwidth}{\emph{Output:}}% |
| \makebox[\alglabelwidth][l]{\emph{Output:}} \begin{tabular}[t]{l} #1 \end{tabular}} |
| \newcommand{\algprecond}[1]{% |
| \par\noindent\textit{Initialization/Precondition: #1}} |
| |
| \newcommand{\set}{\leftarrow} |
| \DeclareMathOperator{\random}{random} |
| \newcommand{\dist}{\ensuremath{\mathit{dist}}} |
| \newcommand{\List}{\mathrm{List}} |
| \newcommand{\Sample}{\mathit{Sample}} |
| \algblockdefx[With]{With}{EndWith}% |
| [1]{\textbf{with} #1 \textbf{do}}% |
| [0]{End} |
| \algnotext[With]{EndWith} |
| % END Algorithms |
| |
| % BEGIN lstlisting environments |
| \lstset{ |
| basicstyle=\ttfamily\footnotesize, % the size of the fonts that are used for the code |
| numbers=left, % where to put the line-numbers |
| numberblanklines=false |
| numbersep=1em, % how far the line-numbers are from the code |
| basewidth=0.52em, |
| tabsize=4, % sets default tabsize to 2 spaces |
| xleftmargin=\leftmargini |
| } |
| \renewcommand*\thelstnumber{\the\value{lstnumber}:} |
| % END lstlisting environments |
| |
| \lstnewenvironment{sql}[1][]{\lstset{language=SQL,gobble=4,emphstyle=\textit,#1}}{} |
| \lstnewenvironment{cpp}[1][]{\lstset{language=C++,gobble=4,emphstyle=\textit,#1}}{} |
| \lstnewenvironment{cppsnippet}[1][]{\lstset{basicstyle=\ttfamily,language=C++,stepnumber=0,gobble=8,emphstyle=\textit,xleftmargin=0pt,#1}}{} |
| % END General Definitions |
| |
| \bibliography{../literature.bib} |
| |
| % BEGIN Preamble |
| \title{% |
| MADlib Design Document% |
| } |
| |
| \newcommand{\bR}{\mathcal{R}} |
| \newcommand{\norm}[1]{\| #1 \|_2} |
| |
| |
| \begin{document} |
| |
| \maketitle |
| |
| \tableofcontents |
| |
| \input{other-chapters/abstraction-layers} |
| \input{modules/sampling} |
| \input{modules/matrix-operations} |
| \input{modules/linear-systems} |
| \input{modules/svd} |
| \input{modules/regression} |
| \input{modules/k-means} |
| \input{modules/convex-programming} |
| \input{modules/low-rank-matrix-decomposition} |
| \input{modules/lda} |
| \input{modules/crf} |
| \input{modules/ARIMA} |
| \input{modules/cox-proportional-hazards} |
| \input{modules/sandwich-estimators} |
| \input{modules/glm} |
| \input{modules/decision-trees} |
| \input{modules/random-forests} |
| \input{modules/SVM} |
| \input{modules/graph} |
| \input{modules/neural-network} |
| \input{modules/knn} |
| \printbibliography |
| |
| \end{document} |