The DESIGN Package for GAP This README describes the {\DESIGN}~1.3 package for {\GAP}. The {\DESIGN} package is for constructing, classifying, partitioning and studying block designs. All {\DESIGN} functions are written entirely in the {\GAP} language. However, {\DESIGN} requires the {\GRAPE} package to be installed, and makes use of certain {\GRAPE} functions, some of which make use of B.D. McKay's {\nauty}. These {\GRAPE} functions can only be used on a fully installed version of {\GRAPE} in a UNIX environment. {\DESIGN} also requires the {\GAPDoc} package, if you want to read lists of designs in the \URL{http://designtheory.org} external representation format. The {\DESIGN} package is Copyright {\copyright} Leonard H. Soicher 2003--2006. {\DESIGN} is part of a wider project, which was funded by EPSRC, to provide a web-based resource for design theory; see \URL{http://designtheory.org}. {\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{http://www.gnu.org/licenses/gpl.html} If you use {\DESIGN} to solve a problem then please send a short email about it to \Mailto{L.H.Soicher@qmul.ac.uk}, and reference the {\DESIGN} package as follows: L.H. Soicher, The DESIGN package for GAP, Version 1.3, 2006, http://designtheory.org/software/gap_design/. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Installing the DESIGN Package The {\DESIGN} package only runs properly on a UNIX system. Before installing {\DESIGN} (on your UNIX system), you must make sure that {\GAP} (version at least 4.4) is installed as well as its {\GRAPE} (version at least 4.2) and {\GAPDoc} (version at least 0.99) packages. To install {\DESIGN} 1.3 (after installing {\GAP}, {\GRAPE} and {\GAPDoc}), first obtain the {\DESIGN} archive file `design1r3.tar.gz', available from \URL{http://designtheory.org/software/gap_design/} and then copy this archive file into the `pkg' directory of the {\GAP} root directory. Actually, it is possible to have several {\GAP} root directories and so it is easy to install {\DESIGN} locally even if you have no permission to add files to the main {\GAP} installation (see "ref:GAP Root Directory"). Now go to the appropriate `pkg' directory containing `design1r3.tar.gz', and then run gunzip design1r3.tar.gz tar -xf design1r3.tar That's all there is to do. Both dvi and pdf versions of the {\DESIGN} manual are available (as `manual.dvi' and `manual.pdf' respectively) in the `doc' directory of the home directory of {\DESIGN}. If you install {\DESIGN}, then please tell \Mailto{L.H.Soicher@qmul.ac.uk}, where you should also send any comments or bug reports. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main changes from DESIGN 1.2 to DESIGN 1.3 ------------------------------------------ (1) Added function: WittDesign. (2) Fixed a bug which caused a break loop to be entered in certain cases in function BlockDesigns when the least element of blockSizes was equal to tSubsetStructure.t. (3) Fixed a rarely occurring bug which caused no designs to be returned in function BlockDesigns in certain cases when the designs had just one block each. (4) Small improvements made to the documentation and the code. Main changes from DESIGN 1.1 to DESIGN 1.2 ------------------------------------------ (1) Added functions: BlockIntersectionPolynomial BlockIntersectionPolynomialCheck TDesignLambdas TDesignLambdaMin TDesignIntersectionTriangle SteinerSystemIntersectionTriangle TDesignBlockMultiplicityBound ResolvableTDesignBlockMultiplicityBound BlockDesignPoints NrBlockDesignPoints BlockDesignBlocks NrBlockDesignBlocks PairwiseBalancedLambda AffineResolvableMu DeletedPointsBlockDesign DeletedBlocksBlockDesign AddedPointBlockDesign AddedBlocksBlockDesign DerivedBlockDesign ResidualBlockDesign (2) The function BlockDesign can now (optionally) construct a block design from base blocks and a group of automorphisms, and the list of blocks given to BlockDesign need no longer be sorted. (3) Improved documentation of the function TDesignFromTBD, and changed the parameters (in a backward compatible way) to match the description of the "*-construction" in the McSorley-Soicher paper. (4) The (undocumented) resolveSimple option removed from functions BlockDesigns and PartitionsIntoBlockDesigns, and the option b added to these functions (to specify the number of blocks in a required block design or partition part). (5) Improvements made to the use of store (and time?) by the function BlockDesigns. Main changes from DESIGN 1.0 to DESIGN 1.1 ------------------------------------------ (1) Made compatible with GAP 4.4 and its package loading mechanism. DESIGN 1.1 works only with GAP 4.4/GRAPE 4.2/GAPDoc. (2) Upgraded XML I/O to DTRS protocol 2.0. (3) BlockDesignsToXMLFile has additional parameters to allow more user control over expansion, output, and design id's. The default now is for minimal expansion and writing out, which is a *change* from DESIGN 1.0. (4) Added functions: BlockDesignIsomorphismClassRepresentatives, DualBlockDesign, ComplementBlocksBlockDesign. (5) Function names made read-only. (6) Some utility functionality moved to GRAPE 4.2. (7) Added files README and gpl.txt. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Leonard Soicher Queen Mary, University of London November 2006