Commit afc6c796 authored by Liam Healy's avatar Liam Healy

Add more Sphinx documentation

Port some chapters from the texinfo documentation, appropriately
updated for this version.
parent 71778686
Creating grids
=================================
Functions
---------
There are several functions used for creating grids.
.. Causes sphinx to fail .. cl:package:: grid
.. cl:variable:: *grid-types*
.. cl:function:: gridp
.. cl:function:: grid
.. cl:function:: rank
.. cl:function:: dimensions
.. cl:function:: total-size
.. cl:function:: specification
.. cl:function:: make-grid
.. cl:function:: aref
.. cl:function:: aref*
.. cl:function:: contents
.. cl:function:: make-simple-grid
.. cl:function:: grid
.. cl:variable:: *default-grid-type*
.. cl:variable:: *default-element-type*
.. cl:variable:: *default-dimensions*
Reader macro
------------
The grid concept
------------------
In scientific and engineering computing, data is frequently organized into a regular pattern indexed by a finite sequence of integers, and thought of having a Cartesian arrangement. In Antik, these are called *grids*, and can be thought of as generalized arrays. One example type is a Common Lisp array_. Other examples might be a list of lists, a C array accessible through a foreign function interface.
Each grid has a rectangular shape; that is, the range of indices permissible is independent of the other values of the index. Each node of the grid is an *element* (or sometimes a *component*). Since the focus of Antik is on the scientific and engineering applications, the elements will generally be numbers of some type. Most of the definitions here however do not force this to be the case.
The *rank* of a grid is the number of Cartesian axes, and the *dimensions* are a sequence of non-negative integers of length equal to the rank that give the number of index values possible along each axis. A grid of rank 1 is called a *vector* (where there would not be a confusion with the Common Lisp vector_), and a grid of rank 2 a *matrix*. For example, a matrix representing rotations in three dimensional space would have rank 2 and dimensions (3 3).
.. _array: http://www.lispworks.com/documentation/lw50/CLHS/Body/t_array.htm
.. _vector: http://www.lispworks.com/documentation/HyperSpec/Body/t_vector.htm
Types of grids
--------------
Antik defines two types of grids, Lisp *arrays* and *foreign arrays*, which are defined in foreign memory and therefore are accessible by foreign libraries. The argument ``grid-type`` to a function or the variable ``grid:*default-grid-type*`` should be bound to one of ``'cl:array`` or ``'grid:foreign-array``, to specify an array or
foreign-array respectively.
In order to use foreign arrays, the ``foreign-array`` system [#f1]_ must be loaded::
(ql:quickload :foreign-array)
This will happen automatically if the ``antik`` system is loaded.
.. [#f1] :ref:`systems-packages`
Package
--------------
All symbols defined in this chapter are in the ``grid`` package and imported into packages defined with :cl:function:`make-user-package`.
Grids
=================================
.. toctree::
:maxdepth: 2
gridintro
creating
Linear Agebra
=============
Linear Algebra
==============
At present, these call the LU methods in GSLL. Someday, they will take arguments to allow other methods and libraries. To find the inverse and determinant of a matrix, use ``invert-matrix`` with a two-dimensional ``foreign-array``::
To find the inverse and determinant of a matrix, use ``invert-matrix`` with a two-dimensional ``foreign-array``::
> (invert-matrix
(grid:make-foreign-array
......@@ -10,6 +10,12 @@ At present, these call the LU methods in GSLL. Someday, they will take arguments
(1.500000000000000d0 -0.500000000000000d0))
-2.0
Since a foreign library (GSL) is used for this calculation, the matrix must be a foreign array.
.. note::
At present, these call the LU methods in GSLL. Plans are for these functions to take arguments to allow other methods and libraries.
.. cl:package:: antik
.. cl:function:: invert-matrix
.. cl:function:: determinant
......
......@@ -11,11 +11,13 @@ There are several ASDF systems_ that can be loaded,
- ``foreign-array``
- ``antik-base``
Except for ``antik``, each of these also loads the one listed after it; ``antik`` loads ``physical-dimension``. It also loads GSLL_. Most users should load these systems using Quicklisp_.
Except for ``antik``, each of these also loads the one listed after it; ``antik`` loads ``physical-dimension``. It also loads GSLL_. Most users should load these systems using Quicklisp_::
There are two Common Lisp packages_ defined by Antik, ``antik`` and ``grid``. Some functions defined by Antik are generalizations of functions befined by Common Lisp, so the name is chosen the same, but in one of the two new packages. Shadowing_ is used to make sure that reference to the symbol will use the Antik definition and not the CL definition.
(ql:quickload :antik)
There is one additional package defined for the user's convience, ``antik-user``, which uses_ and properly shadows all symbols but has no definitions initially. The function ``antik:make-user-package`` will make a new package with these features.
There are two Common Lisp packages_ defined by Antik, ``antik`` and ``grid``. Some functions defined by Antik are generalizations of functions defined by Common Lisp, so the name is chosen the same, but in one of the two new packages. Shadowing_ is used to make sure that reference to the symbol will use the Antik definition and not the CL definition.
There is one additional package defined for the user's convience, ``antik-user``, which uses_ and properly shadows all symbols but has no definitions initially. The function :cl:function:`make-user-package` will make a new package with these features.
.. cl:package:: antik
.. cl:function:: make-user-package
......
Parameters
=================================
Parameters are named values that are defined and used in computations or in presentation. The defparameter_ macro defines parameters (dynamic variables) but Antik has definitions that permit grouping them and including properties such as the type, which will be checked when values are assigned, and defining synonyms. The grouping is in named categories; Antik itself defines one category, ``NF``, which is used for numerical formatting. Each category used will become a package, and the symbols exported from that package. The value can be changed with ``setf`` :cl:function:`parameter-value` and used with :cl:function:`parameter-value`, or changed locally (analogous to let_ for CL variables) with :cl:function:`with-parameters`. It is also permissible to assign as a normal variable (e.g., with let and setf), but no type checking is performed.
Define some parameters::
(define-parameter kepler foo
:value 122
:type fixnum
:documentation "A fixnum parameter of kepler.")
(define-parameter kepler bar
:value "hi"
:type string
:documentation "A string parameter of kepler.")
Get their values::
(parameter-value kepler bar)
"hi"
(parameter-value kepler foo)
122
;;; Dynamic binding
(defun show-foo-bar ()
(format t "~&foo: ~a, bar: ~s"
(parameter-value kepler foo)
(parameter-value kepler bar)))
(show-foo-bar)
foo: 122, bar: "hi"
NIL
;;; Locally change values
(with-parameters (kepler (foo 143) (bar "bye"))
(show-foo-bar))
foo: 143, bar: "bye"
NIL
(show-foo-bar)
foo: 122, bar: "hi"
NIL
Make a mistake::
(with-parameters (kepler (foo 143) (bar -44))
(show-foo-bar))
Error: Value -44 is of type FIXNUM, not of the required type STRING.
Globally change values::
(setf (parameter-value kepler bar) "a new value")
(show-foo-bar)
foo: 122, bar: "a new value"
Set multiple values::
(set-parameters kepler bar "xyz" foo 1)
(show-foo-bar)
foo: 1, bar: "xyz"
Get information about the categories and parameters::
(parameter-help)
Parameter categories: KEPLER and NF.
(parameter-help :kepler)
Parameters in KEPLER: BAR and FOO.
(parameter-help :kepler :bar)
BAR: A string parameter of kepler.
Type is STRING,
Current value is "xyz".
.. _defparameter: http://www.lispworks.com/documentation/HyperSpec/Body/m_defpar.htm#defparameter,defparameter
.. _let: http://www.lispworks.com/documentation/HyperSpec/Body/s_let_l.htm
.. cl:package:: antik
.. cl:function:: define-parameter
.. cl:function:: make-parameter
.. cl:function:: make-parameters-from-table
.. cl:function:: parameter-help
.. cl:function:: parameter-value
.. cl:function:: set-parameter
.. cl:function:: set-parameters
.. cl:function:: with-parameters
......@@ -15,6 +15,8 @@ Contents:
starting
packages
mathematics
grids
workflow
utility
conditions
......
Workflow
=================================
Typically, scientific and engineering computation starts with input values and computes values or properties of an object, uses those as inputs to compute more values and properties, and eventually produces an output. Sometimes it is necessary to examine the intermediate values, for research, education, or debugging; sometimes, especially when doing production runs, the variable input and output are the only things of interest, the values that remain unchanged with each calculation are recorded but are not the focus of the computation, and the intermediate values are only need temporarily to get to the next stage of the computation. This describes definitions meant to aid in this process.
.. note::
At present, very little is written; only parameters_ definitions exist, and these are likely to change.
.. toctree::
:maxdepth: 2
parameters
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Creating grids &mdash; Antik 0 documentation</title>
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="Antik 0 documentation" href="root.html" />
<link rel="up" title="Grids" href="grids.html" />
<link rel="next" title="Workflow" href="workflow.html" />
<link rel="prev" title="The grid concept" href="gridintro.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="workflow.html" title="Workflow"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="gridintro.html" title="The grid concept"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="root.html">Antik 0 documentation</a> &raquo;</li>
<li class="nav-item nav-item-1"><a href="grids.html" accesskey="U">Grids</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="creating-grids">
<h1>Creating grids<a class="headerlink" href="#creating-grids" title="Permalink to this headline"></a></h1>
<div class="section" id="functions">
<h2>Functions<a class="headerlink" href="#functions" title="Permalink to this headline"></a></h2>
<p>There are several functions used for creating grids.</p>
<dl class="variable">
<dt>
<em class="property">variable </em><code class="descname">*grid-types*</code></dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">gridp</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">grid</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">rank</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">dimensions</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">total-size</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">specification</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">make-grid</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">aref</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">aref*</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">contents</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">make-simple-grid</code>)</dt>
<dd></dd></dl>
<dl class="function">
<dt>
<em class="property">function </em> (<code class="descname">grid</code>)</dt>
<dd></dd></dl>
<dl class="variable">
<dt>
<em class="property">variable </em><code class="descname">*default-grid-type*</code></dt>
<dd></dd></dl>
<dl class="variable">
<dt>
<em class="property">variable </em><code class="descname">*default-element-type*</code></dt>
<dd></dd></dl>
<dl class="variable">
<dt>
<em class="property">variable </em><code class="descname">*default-dimensions*</code></dt>
<dd></dd></dl>
</div>
<div class="section" id="reader-macro">
<h2>Reader macro<a class="headerlink" href="#reader-macro" title="Permalink to this headline"></a></h2>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="root.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Creating grids</a><ul>
<li><a class="reference internal" href="#functions">Functions</a></li>
<li><a class="reference internal" href="#reader-macro">Reader macro</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="gridintro.html"
title="previous chapter">The grid concept</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="workflow.html"
title="next chapter">Workflow</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/creating.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="workflow.html" title="Workflow"
>next</a> |</li>
<li class="right" >
<a href="gridintro.html" title="The grid concept"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="root.html">Antik 0 documentation</a> &raquo;</li>
<li class="nav-item nav-item-1"><a href="grids.html" >Grids</a> &raquo;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&copy; Copyright 2015, Liam M. Healy.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.
</div>
</body>
</html>
\ No newline at end of file
......@@ -61,6 +61,7 @@
| <a href="#R"><strong>R</strong></a>
| <a href="#S"><strong>S</strong></a>
| <a href="#T"><strong>T</strong></a>
| <a href="#W"><strong>W</strong></a>
| <a href="#Z"><strong>Z</strong></a>
</div>
......@@ -168,6 +169,12 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="parameters.html#function:antik:define-parameter">define-parameter (Lisp function)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="linalg.html#function:antik:determinant">determinant (Lisp function)</a>
</dt>
......@@ -244,16 +251,24 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="packages.html#function:antik:make-user-package">make-user-package (Lisp function)</a>
<dt><a href="parameters.html#function:antik:make-parameter">make-parameter (Lisp function)</a>
</dt>
<dt><a href="optimize.html#function:antik:maximize-1d">maximize-1d (Lisp function)</a>
<dt><a href="parameters.html#function:antik:make-parameters-from-table">make-parameters-from-table (Lisp function)</a>
</dt>
<dt><a href="packages.html#function:antik:make-user-package">make-user-package (Lisp function)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="optimize.html#function:antik:maximize-1d">maximize-1d (Lisp function)</a>
</dt>
<dt><a href="optimize.html#function:antik:minimize-1d">minimize-1d (Lisp function)</a>
</dt>
......@@ -268,6 +283,16 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="parameters.html#function:antik:parameter-help">parameter-help (Lisp function)</a>
</dt>
<dt><a href="parameters.html#function:antik:parameter-value">parameter-value (Lisp function)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="elemmath.html#function:antik:plusp">plusp (Lisp function)</a>
</dt>
......@@ -294,6 +319,14 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="parameters.html#function:antik:set-parameter">set-parameter (Lisp function)</a>
</dt>
<dt><a href="parameters.html#function:antik:set-parameters">set-parameters (Lisp function)</a>
</dt>
<dt><a href="starting.html#function:antik:set-reader">set-reader (Lisp function)</a>
</dt>
......@@ -305,12 +338,12 @@
<dt><a href="elemmath.html#function:antik:signum">signum (Lisp function)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="trigonometry.html#function:antik:sin">sin (Lisp function)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="trigonometry.html#function:antik:sinh">sinh (Lisp function)</a>
</dt>
......@@ -346,6 +379,16 @@
</dl></td>
</tr></table>
<h2 id="W">W</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="parameters.html#function:antik:with-parameters">with-parameters (Lisp function)</a>
</dt>
</dl></td>
</tr></table>
<h2 id="Z">Z</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The grid concept &mdash; Antik 0 documentation</title>
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="Antik 0 documentation" href="root.html" />
<link rel="up" title="Grids" href="grids.html" />
<link rel="next" title="Creating grids" href="creating.html" />
<link rel="prev" title="Grids" href="grids.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="creating.html" title="Creating grids"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="grids.html" title="Grids"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="root.html">Antik 0 documentation</a> &raquo;</li>
<li class="nav-item nav-item-1"><a href="grids.html" accesskey="U">Grids</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="the-grid-concept">
<h1>The grid concept<a class="headerlink" href="#the-grid-concept" title="Permalink to this headline"></a></h1>
<p>In scientific and engineering computing, data is frequently organized into a regular pattern indexed by a finite sequence of integers, and thought of having a Cartesian arrangement. In Antik, these are called <em>grids</em>, and can be thought of as generalized arrays. One example type is a Common Lisp <a class="reference external" href="http://www.lispworks.com/documentation/lw50/CLHS/Body/t_array.htm">array</a>. Other examples might be a list of lists, a C array accessible through a foreign function interface.</p>
<p>Each grid has a rectangular shape; that is, the range of indices permissible is independent of the other values of the index. Each node of the grid is an <em>element</em> (or sometimes a <em>component</em>). Since the focus of Antik is on the scientific and engineering applications, the elements will generally be numbers of some type. Most of the definitions here however do not force this to be the case.</p>
<p>The <em>rank</em> of a grid is the number of Cartesian axes, and the <em>dimensions</em> are a sequence of non-negative integers of length equal to the rank that give the number of index values possible along each axis. A grid of rank 1 is called a <em>vector</em> (where there would not be a confusion with the Common Lisp <a class="reference external" href="http://www.lispworks.com/documentation/HyperSpec/Body/t_vector.htm">vector</a>), and a grid of rank 2 a <em>matrix</em>. For example, a matrix representing rotations in three dimensional space would have rank 2 and dimensions (3 3).</p>
</div>
<div class="section" id="types-of-grids">
<h1>Types of grids<a class="headerlink" href="#types-of-grids" title="Permalink to this headline"></a></h1>
<p>Antik defines two types of grids, Lisp <em>arrays</em> and <em>foreign arrays</em>, which are defined in foreign memory and therefore are accessible by foreign libraries. The argument <code class="docutils literal"><span class="pre">grid-type</span></code> to a function or the variable <code class="docutils literal"><span class="pre">grid:*default-grid-type*</span></code> should be bound to one of <code class="docutils literal"><span class="pre">'cl:array</span></code> or <code class="docutils literal"><span class="pre">'grid:foreign-array</span></code>, to specify an array or
foreign-array respectively.</p>
<p>In order to use foreign arrays, the <code class="docutils literal"><span class="pre">foreign-array</span></code> system <a class="footnote-reference" href="#f1" id="id1">[1]</a> must be loaded:</p>
<div class="highlight-python"><div class="highlight"><pre>(ql:quickload :foreign-array)
</pre></div>
</div>
<p>This will happen automatically if the <code class="docutils literal"><span class="pre">antik</span></code> system is loaded.</p>
<table class="docutils footnote" frame="void" id="f1" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td><a class="reference internal" href="packages.html#systems-packages"><span>Systems and Packages</span></a></td></tr>
</tbody>
</table>
</div>
<div class="section" id="package">
<h1>Package<a class="headerlink" href="#package" title="Permalink to this headline"></a></h1>
<p>All symbols defined in this chapter are in the <code class="docutils literal"><span class="pre">grid</span></code> package and imported into packages defined with <a class="reference internal" href="packages.html#function:antik:make-user-package" title="antik:make-user-package"><code class="xref cl cl-function docutils literal"><span class="pre">make-user-package</span></code></a>.</p>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="root.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">The grid concept</a></li>
<li><a class="reference internal" href="#types-of-grids">Types of grids</a></li>
<li><a class="reference internal" href="#package">Package</a></li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="grids.html"
title="previous chapter">Grids</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="creating.html"
title="next chapter">Creating grids</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/gridintro.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="creating.html" title="Creating grids"
>next</a> |</li>
<li class="right" >
<a href="grids.html" title="Grids"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="root.html">Antik 0 documentation</a> &raquo;</li>
<li class="nav-item nav-item-1"><a href="grids.html" >Grids</a> &raquo;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&copy; Copyright 2015, Liam M. Healy.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">