This manual describes the {\DESIGN}~1.8.2 package for {\GAP}.
The {\DESIGN} package is for constructing, classifying, partitioning,
and studying block designs.
The {\DESIGN} package is Copyright {\copyright} Leonard H. Soicher
2003--2024. {\DESIGN} is part of a wider project, which received EPSRC
funding under grant GR/R29659/01, to provide a web-based resource for
design theory; see \URL{http://designtheory.org} and \cite{Dotw}.
The development of {\DESIGN} was also partially supported by EPSRC grant
EP/M022641/1 (CoDiMa: a Collaborative Computational Project in the area
of Computational Discrete Mathematics).
{\DESIGN} is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version. For details, see \URL{https://www.gnu.org/licenses/gpl.html}.
Please reference your use of the {\DESIGN} package in a published work
as follows:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Installing the DESIGN Package}
The {\DESIGN} package is included in the standard {\GAP} distribution. You
only need to download and install {\DESIGN} if you need to install
the package locally or are installing an upgrade of {\DESIGN} to
an existing installation of {\GAP} (see the main {\GAP} reference
section "ref:Installing a GAP Package"). If you do need to download
{\DESIGN}, you can find an archive file for the latest release at \URL{https://github.com/gap-packages/design/releases}. This archive
file can then be downloaded and unpacked in the `pkg' subdirectory of
an appropriate {\GAP} root directory (see the main {\GAP} reference section "ref:GAP Root Directories").
The {\DESIGN} package is written entirely in {\GAP} code, and requires
no further installation. However, {\DESIGN} makes use of the {\GRAPE}
package \cite{Grape}, which must be fully installed.
Before using {\DESIGN} you must load the package within {\GAP} by calling
\begintt
LoadPackage("design"); \endtt
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{The structure of a block design in DESIGN}
A *block design* \index{block design}
is an ordered pair $(X,B)$, where
$X$ is a non-empty finite set whose elements are called *points*, and
$B$ is a non-empty finite multiset whose elements are called *blocks*,
such that each block is a non-empty finite multiset of points.
{\DESIGN} deals with arbitrary block designs. However, at present, some
{\DESIGN} functions only work for *binary* block designs \index{binary block design}
(i.e. those with no repeated element in any block of
the design), but these functions will check if an input block design
is binary.
In {\DESIGN}, a block design <D> is stored as a record, with mandatory
components `isBlockDesign', `v', and `blocks'. The points of a block
design <D> are always 1,2,...,`<D>.v', but they may also be given *names*
in the optional component `pointNames', with `.pointNames[]'
the name of point <i>. The `blocks' component must be a sorted list
of the blocks of <D> (including any repeats), with each block being a
sorted list of points (including any repeats).
A block design record may also have some optional components which store
information about the design. At present these optional components include
`isSimple', `isBinary', `isConnected', `r', `blockSizes', `blockNumbers',
`resolutions', `autGroup', `autSubgroup', `tSubsetStructure',
`allTDesignLambdas', `efficiency', `id', `statistical_propertiesXML',
and `pointNames'.
A non-expert user should only use functions in the {\DESIGN} package to
create block design records and their components.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Example of the use of DESIGN}
To give you an idea of the capabilities of this package, we now give
an extended example of an application of the {\DESIGN} package, in
which a nearly resolvable non-simple 2-(21,4,3) design is constructed
(for Donald Preece) via a pairwise-balanced design. All the {\DESIGN}
functions used here are described in this manual.
The program first discovers the unique (up to isomorphism)
pairwise-balanced 2-(21,$\{4,5\}$,1) design $D$ invariant under $H=\langle
(1,2,\ldots,20)\rangle$, and then applies the $\*$-construction of \cite{McSo} to this design $D$ to obtain a non-simple 2-(21,4,3) design
$Dstar$ with automorphism group of order 80. The program then classifies
the near-resolutions of $Dstar$ invariant under the subgroup of order 5
of $H$, and finds exactly two such (up to the action of $\Aut(Dstar)$).
Finally, $Dstar$ is printed.
Further extended examples of the use of the {\DESIGN} package can be
found in \cite{Soi13} and \cite{Soi24}.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.