SCM Repository
Annotation of /trunk/doc/report/types.tex
Parent Directory
|
Revision Log
Revision 161 - (view) (download) (as text)
1 : | jhr | 101 | %!TEX root = report.tex |
2 : | % | ||
3 : | \chapter{Types} | ||
4 : | \label{chap:types} | ||
5 : | |||
6 : | The grammar of Diderot types is as follows: | ||
7 : | \begin{Grammar} | ||
8 : | \TypeRULES{} | ||
9 : | \end{Grammar}% | ||
10 : | |||
11 : | \section{Value types} | ||
12 : | Diderot supports four types of concrete values: booleans, integers, strings, and tensors. | ||
13 : | The grammar of these types is | ||
14 : | \begin{Grammar} | ||
15 : | \ValueTypeRULES{} | ||
16 : | \DimensionsRULES{} | ||
17 : | \end{Grammar}% | ||
18 : | |||
19 : | The tensor type \mbox{\kw{tensor}\kw{[}$d_1,\ldots{},d_n$\kw{]}} is the of type order-$n$ tensors | ||
20 : | with shape $d_1,\ldots{},d_n$. | ||
21 : | Tensors include scalars (order-0) and vectors (order-1). | ||
22 : | Because these types are frequently used, Diderot supports the following predefined type definitions: | ||
23 : | \begin{center} | ||
24 : | \begin{tabular}{r@{$\quad\equiv\quad$}l} | ||
25 : | \kw{real} & \texttt{\kw{tensor}\kw{[}\kw{]}} \\ | ||
26 : | \kw{vec2} & \texttt{\kw{tensor}\kw{[}2\kw{]}} \\ | ||
27 : | \kw{vec3} & \texttt{\kw{tensor}\kw{[}3\kw{]}} \\ | ||
28 : | \kw{vec4} & \texttt{\kw{tensor}\kw{[}4\kw{]}} | ||
29 : | \end{tabular} | ||
30 : | \end{center}% | ||
31 : | |||
32 : | \section{Images} | ||
33 : | jhr | 161 | Images are rectangular arrays of tensor data that are used to represent the data sets |
34 : | that Diderot programs are analysing, as well as other data. | ||
35 : | The syntax of an image type is | ||
36 : | \begin{center} | ||
37 : | \kw{image}\kw{(} $n$ \kw{)} \kw{[} $d_1,\ldots{},d_n$ \kw{]} | ||
38 : | \end{center}% | ||
39 : | where $n$ is the dimension of the field (typically 2 or 3) and $d_1,\ldots{},d_n$ is the | ||
40 : | shape of the tensor data (\ie{}, the elements of the image are tensors | ||
41 : | of type \kw{tensor[}$d_1,\ldots{},d_n$\kw{]}). | ||
42 : | jhr | 101 | |
43 : | \section{Fields} | ||
44 : | jhr | 161 | Fields are functions from some $n$-dimensional vector space to some tensor type. |
45 : | The syntax of a field type is | ||
46 : | \begin{center} | ||
47 : | \kw{field}\kw{\#} $k$ \kw{(} $n$ \kw{)} \kw{[} $d_1,\ldots{},d_n$ \kw{]} | ||
48 : | \end{center}% | ||
49 : | where $k \geq 0$ is the number of levels of differentiation supported by the field, | ||
50 : | $n$ is the dimension of the field (typically 2 or 3), and $d_1,\ldots{},d_n$ is the shape of the field. | ||
51 : | Probing the field will produce a tensor of type \kw{tensor[}$d_1,\ldots{},d_n$\kw{]}. | ||
52 : | jhr | 101 | |
53 : | \section{Kernels} | ||
54 : | Kernels are abstract types that represent the \emph{convolution kernels} used | ||
55 : | to reconstruct continuous fields from image data. | ||
56 : | The syntax of a kernel type is \mbox{\kw{kernel}\kw{\#}$k$}, where | ||
57 : | $k \geq 0$ gives the number of levels of differentiation supported by the | ||
58 : | kernel. |
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |