Next: Creating a grid, Previous: Top, Up: Top
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. We call this grid structured data. A standard form is the array, but we do not wish to confine ourselves to representation in terms of a Common Lisp array. Other examples might be a list of lists, a C array accessible through a foreign function interface, or an SQL table. We assume 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.
Since we are primarily focused on the scientific and engineering applications, the elements will generally be numbers of some type. Most of the definitions in this collection however do not force this to be the case.
The rank of a grid is the number of Cartesian axes, and the dimensions are sequence of non-negative integers of length equal to the rank that give the number of index values possible along each axis. For example, a matrix representing rotations in three dimensional space would have rank 2 and dimensions (3 3).
In this collection are several ASDF systems that define common operations for grids and specific representation of grid structured data. The base system grid defined in gsd/grid/grid.asd defines common operations, and sets up built-in Common Lisp objects such as arrays and lists as grid structured data. The system foreign-array uses CFFI to allow the use of C arrays as grid.
The systems available are: