\documentclass[11pt]{article} \input{defs} \setlength{\textwidth}{6in} \setlength{\oddsidemargin}{0.25in} \setlength{\evensidemargin}{0.25in} \setlength{\parskip}{5pt} \title{Diderot} \author{ Gordon Kindlmann \\ University of Chicago \\ {\small\tt{}glk@cs.uchicago.edu} \\ \and John Reppy \\ University of Chicago \\ {\small\tt{}jhr@cs.uchicago.edu} \\ } \date{\today} \begin{document} \maketitle \thispagestyle{empty} \section{Introduction} This document is a semi-formal design of Dedierot. \section{Types} The syntax of Diderot types is as follows: \begin{displaymath} \begin{array}{rclr} \tau & ::= & \TYbool & \text{booleans} \\ & \mid & \TYint & \text{integers} \\ & \mid & \TYtensor{o}{d} & \text{tensors of order $o$ and dimension $d$} \\ & \mid & \TYmatrix{n}{m} & \text{$n\times{}m$ matrix} \\ & \mid & \TYimage{d}{\tau} & \text{image of dimension $d$ and $\tau$ elements}\\ & \mid & \TYkern{k} & \text{convolution kernel with $k$ derivatives} \\ & \mid & \TYfield{k}{d}{\tau} & \text{$d$-dimension field of $\tau$ values and $k$ derivatives} \\ \end{array}% \end{displaymath}% where $o\in\Nat$ is the tensor order, $d,n,m\in\SET{2,3}$ are dimensions, and $k\in\Nat$ is the differentiability of a field. Some type abbreviations: \begin{eqnarray*} \TYreal & = & \TYtensor{0}{d} \quad\text{for any $d$} \\ \TYvec{d} & = & \TYtensor{1}{d} \end{eqnarray*}% \section{Operations} \subsection{Scalar operations} \noindent{}Arithmetic: \begin{displaymath} \BinopTy{{\odot}}{\tau}{\tau}{\tau} \qquad\text{for $\odot\in\SET{{+},{-},{*},{/}}$ and $\tau\in\SET{\TYint,\TYreal}$} \end{displaymath}% \noindent{}Comparisons: \begin{displaymath} \BinopTy{{\odot}}{\tau}{\tau}{\TYbool} \qquad\text{for $\odot\in\SET{{<},{\leq},{=},{\neq}{>},{\geq}}$ and $\tau\in\SET{\TYint,\TYreal}$} \end{displaymath}% \subsection{Matrix operations} \subsection{Tensor operations} \noindent{}Scalar multiplication: \begin{displaymath} \begin{array}{c} \BinopTy{{*}}{\TYreal}{\TYtensor{o}{d}}{\TYtensor{o}{d}} \\ \BinopTy{{*}}{\TYtensor{o}{d}}{\TYreal}{\TYtensor{o}{d}} \end{array}% \end{displaymath}% \noindent{}Addition: \begin{displaymath} \BinopTy{{\odot}}{\TYtensor{o}{d}}{\TYtensor{o}{d}}{\TYtensor{o}{d}} \qquad\text{for $\odot\in\SET{{+},{-}}$} \end{displaymath}% \subsection{Field operations} \noindent{}Creation from an image: \begin{displaymath} \BinopTy{\OPsample}{\TYkern{k}}{\TYimage{d}{\tau}}{\TYfield{k}{d}{\hat{\tau}}} \qquad\text{where $\hat{\tau}$ is the real conversion of $\tau$.} \end{displaymath}% \noindent{}Addition: \begin{displaymath} \BinopTy{{\odot}}{\TYfield{k_1}{d}{\tau}}{\TYfield{k_2}{d}{\tau}}{\TYfield{\min(k_1,k_2)}{d}{\tau}} \qquad\text{for $\odot\in\SET{{+},{-}}$} \end{displaymath}% \noindent{}Differentiation: \begin{displaymath} \UnopTy{\OPdiff}{\TYfield{k}{d}{\tau}}{\TYfield{k-1}{d}{\tau}} \qquad\text{for $k > 0$} \end{displaymath}% \noindent{}Probing: \begin{displaymath} \BinopTy{@}{\TYfield{k}{d}{\tau}}{\TYvec{d}}{\tau} \end{displaymath}% \end{document}
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: displaymath} \BinopTy{@}{\TYfield{k}{d}{\tau}}{\TYvec{d}}{\tau} \end{displaymath}% \end{document}