| products/Sources/formale Sprachen/GAP/pkg/design/htm/CHAP001.htm |
 |
< html>< head>< title>[design] 1 Design</ title></ head>
< body text= "#000000" bgcolor= "#ffffff">
[< a href = "chapters.htm">Up</ a>] [< a href = "CHAP002.htm">Next</ a>] [< a href = "theindex.htm">Index</ a>]
< h1> 1 Design</ h1>< p>
< P>
<H3>Sections</H3>
< oL>
< li> < A HREF= "CHAP001.htm#SECT001">Installing the DESIGN Package</ a>
< li> < A HREF= "CHAP001.htm#SECT002">Loading DESIGN</ a>
< li> < A HREF= "CHAP001.htm#SECT003">The structure of a block design in DESIGN</ a>
< li> < A HREF= "CHAP001.htm#SECT004">Example of the use of DESIGN</ a>
</ ol>< p>
< p>
This manual describes the DESIGN 1. 8. 2 package for < font face= "Gill Sans,Helvetica,Arial">GA P</font>.
The DESIGN package is for constructing, classifying, partitioning,
and studying block designs.
<p>
The DESIGN package is 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 <a href="http://designtheory.org">http://designtheory.org</a> and <a href="biblio.htm#Dotw"><cite>Dotw</cite></a>.
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).
<p>
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
<a href="https://www.gnu.org/licenses/gpl.html">https://www.gnu.org/licenses/gpl.html</a>.
<p>
Please reference your use of the DESIGN package in a published work
as follows:
<p>
L.H. Soicher, The DESIGN package for GAP, Version 1.8.2, 2024,
<a href="https://gap-packages.github.io/design">https://gap-packages.github.io/design</a>.
<p>
For questions, remarks, suggestions, and issues, please use the issue
tracker at <a href="https://github.com/gap-packages/design/issues">https://github.com/gap-packages/design/issues</a>.
<p>
<p>
<h2><a name="SECT001">1.1 Installing the DESIGN Package</a></h2>
<p><p>
The DESIGN package is included in the standard <font face="Gill Sans,Helvetica,Arial">GAP</font> 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 <font face="Gill Sans,Helvetica,Arial">GAP</font> (see the main <font face="Gill Sans,Helvetica,Arial">GAP</font> reference
section <a href="../../../doc/ref/chap76.html#X82473E4B8756C6CD">Installing a GAP Package</a>). If you do need to download
DESIGN, you can find an archive file for the latest release at
<a href="https://github.com/gap-packages/design/releases">https://github.com/gap-packages/design/releases</a>. This archive
file can then be downloaded and unpacked in the <code>pkg</code> subdirectory of
an appropriate <font face="Gill Sans,Helvetica,Arial">GAP</font> root directory (see the main <font face="Gill Sans,Helvetica,Arial">GAP</font> reference section
<a href="../../../doc/ref/chap9.html#X7A4973627A5DB27D">GAP Root Directories</a>).
<p>
The DESIGN package is written entirely in <font face="Gill Sans,Helvetica,Arial">GAP</font> code, and requires
no further installation. However, DESIGN makes use of the GRAPE
package <a href="biblio.htm#Grape"><cite>Grape</cite></a>, which must be fully installed.
<p>
<p>
<h2><a name="SECT002">1.2 Loading DESIGN</a></h2>
<p><p>
Before using DESIGN you must load the package within <font face="Gill Sans,Helvetica,Arial">GAP</font> by calling
<p>
<pre>
LoadPackage("design");
</pre>
<p>
<p>
<h2><a name="SECT003">1.3 The structure of a block design in DESIGN</a></h2>
<p><p>
A <strong>block design</strong>
<a name = "I0"></a>
is an ordered pair <var>(X,B)</var>, where
<var>X</var> is a non-empty finite set whose elements are called <strong>points</strong>, and
<var>B</var> is a non-empty finite multiset whose elements are called <strong>blocks</strong>,
such that each block is a non-empty finite multiset of points.
<p>
DESIGN deals with arbitrary block designs. However, at present, some
DESIGN functions only work for <strong>binary</strong> block designs
<a name = "I1"></a>
(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.
<p>
In DESIGN, a block design <var>D</var> is stored as a record, with mandatory
components <code>isBlockDesign</code>, <code>v</code>, and <code>blocks</code>. The points of a block
design <var>D</var> are always 1,2,...,<code></code><var>D</var><code>.v</code>, but they may also be given <strong>names</strong>
in the optional component <code>pointNames</code>, with <code></code><var>D</var><code>.pointNames[</code><var>i</var><code>]</code>
the name of point <var>i</var>. The <code>blocks</code> component must be a sorted list
of the blocks of <var>D</var> (including any repeats), with each block being a
sorted list of points (including any repeats).
<p>
A block design record may also have some optional components which store
information about the design. At present these optional components include
<code>isSimple</code>, <code>isBinary</code>, <code>isConnected</code>, <code>r</code>, <code>blockSizes</code>, <code>blockNumbers</code>,
<code>resolutions</code>, <code>autGroup</code>, <code>autSubgroup</code>, <code>tSubsetStructure</code>,
<code>allTDesignLambdas</code>, <code>efficiency</code>, <code>id</code>, <code>statistical_propertiesXML</code>,
and <code>pointNames</code>.
<p>
A non-expert user should only use functions in the DESIGN package to
create block design records and their components.
<p>
<p>
<h2><a name="SECT004">1.4 Example of the use of DESIGN</a></h2>
<p><p>
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.
<p>
The program first discovers the unique (up to isomorphism)
pairwise-balanced 2-(21,<var>{4,5}</var>,1) design <var>D</var> invariant under <var>H=langle
(1,2,...,20)rangle</var>, and then applies the <var>*</var>-construction of
<a href="biblio.htm#McSo"><cite>McSo</cite></a> to this design <var>D</var> to obtain a non-simple 2-(21,4,3) design
<var>Dstar</var> with automorphism group of order 80. The program then classifies
the near-resolutions of <var>Dstar</var> invariant under the subgroup of order 5
of <var>H</var>, and finds exactly two such (up to the action of <var>Aut(Dstar)</var>).
Finally, <var>Dstar</var> is printed.
<p>
Further extended examples of the use of the DESIGN package can be
found in <a href="biblio.htm#Soi13"><cite>Soi13</cite></a> and <a href="biblio.htm#Soi24"><cite>Soi24</cite></a>.
<p>
<pre>
gap> H:=CyclicGroup(IsPermGroup,20);
Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) ])
gap> D:=BlockDesigns(rec(v:=21,blockSizes:=[4,5],
> tSubsetStructure:=rec(t:=2,lambdas:=[1]),
> requiredAutSubgroup:=H ));;
gap> Length(D);
1
gap> D:=D[1];;
gap> BlockSizes(D);
[ 4, 5 ]
gap> BlockNumbers(D);
[ 20, 9 ]
gap> Size(AutGroupBlockDesign(D));
80
gap> Dstar:=TDesignFromTBD(D,2,4);;
gap> AllTDesignLambdas(Dstar);
[ 105, 20, 3 ]
gap> IsSimpleBlockDesign(Dstar);
false
gap> Size(AutGroupBlockDesign(Dstar));
80
gap> near_resolutions:=PartitionsIntoBlockDesigns(rec(
> blockDesign:=Dstar,
> v:=21,blockSizes:=[4],
> tSubsetStructure:=rec(t:=0,lambdas:=[5]),
> blockIntersectionNumbers:=[[ [0] ]],
> requiredAutSubgroup:=SylowSubgroup(H,5) ));;
gap> Length(near_resolutions);
2
gap> List(near_resolutions,x->Size(x.autGroup));
[ 5, 20 ]
gap> Print(Dstar,"\n");
rec(
isBlockDesign := true,
v := 21,
blocks := [ [ 1, 2, 4, 15 ], [ 1, 2, 4, 15 ], [ 1, 2, 4, 15 ],
[ 1, 3, 14, 20 ], [ 1, 3, 14, 20 ], [ 1, 3, 14, 20 ], [ 1, 5, 9, 13 ],
[ 1, 5, 9, 17 ], [ 1, 5, 13, 17 ], [ 1, 6, 11, 16 ], [ 1, 6, 11, 21 ],
[ 1, 6, 16, 21 ], [ 1, 7, 8, 10 ], [ 1, 7, 8, 10 ], [ 1, 7, 8, 10 ],
[ 1, 9, 13, 17 ], [ 1, 11, 16, 21 ], [ 1, 12, 18, 19 ],
[ 1, 12, 18, 19 ], [ 1, 12, 18, 19 ], [ 2, 3, 5, 16 ], [ 2, 3, 5, 16 ],
[ 2, 3, 5, 16 ], [ 2, 6, 10, 14 ], [ 2, 6, 10, 18 ], [ 2, 6, 14, 18 ],
[ 2, 7, 12, 17 ], [ 2, 7, 12, 21 ], [ 2, 7, 17, 21 ], [ 2, 8, 9, 11 ],
[ 2, 8, 9, 11 ], [ 2, 8, 9, 11 ], [ 2, 10, 14, 18 ], [ 2, 12, 17, 21 ],
[ 2, 13, 19, 20 ], [ 2, 13, 19, 20 ], [ 2, 13, 19, 20 ],
[ 3, 4, 6, 17 ], [ 3, 4, 6, 17 ], [ 3, 4, 6, 17 ], [ 3, 7, 11, 15 ],
[ 3, 7, 11, 19 ], [ 3, 7, 15, 19 ], [ 3, 8, 13, 18 ], [ 3, 8, 13, 21 ],
[ 3, 8, 18, 21 ], [ 3, 9, 10, 12 ], [ 3, 9, 10, 12 ], [ 3, 9, 10, 12 ],
[ 3, 11, 15, 19 ], [ 3, 13, 18, 21 ], [ 4, 5, 7, 18 ], [ 4, 5, 7, 18 ],
[ 4, 5, 7, 18 ], [ 4, 8, 12, 16 ], [ 4, 8, 12, 20 ], [ 4, 8, 16, 20 ],
[ 4, 9, 14, 19 ], [ 4, 9, 14, 21 ], [ 4, 9, 19, 21 ], [ 4, 10, 11, 13 ],
[ 4, 10, 11, 13 ], [ 4, 10, 11, 13 ], [ 4, 12, 16, 20 ],
[ 4, 14, 19, 21 ], [ 5, 6, 8, 19 ], [ 5, 6, 8, 19 ], [ 5, 6, 8, 19 ],
[ 5, 9, 13, 17 ], [ 5, 10, 15, 20 ], [ 5, 10, 15, 21 ],
[ 5, 10, 20, 21 ], [ 5, 11, 12, 14 ], [ 5, 11, 12, 14 ],
[ 5, 11, 12, 14 ], [ 5, 15, 20, 21 ], [ 6, 7, 9, 20 ], [ 6, 7, 9, 20 ],
[ 6, 7, 9, 20 ], [ 6, 10, 14, 18 ], [ 6, 11, 16, 21 ],
[ 6, 12, 13, 15 ], [ 6, 12, 13, 15 ], [ 6, 12, 13, 15 ],
[ 7, 11, 15, 19 ], [ 7, 12, 17, 21 ], [ 7, 13, 14, 16 ],
[ 7, 13, 14, 16 ], [ 7, 13, 14, 16 ], [ 8, 12, 16, 20 ],
[ 8, 13, 18, 21 ], [ 8, 14, 15, 17 ], [ 8, 14, 15, 17 ],
[ 8, 14, 15, 17 ], [ 9, 14, 19, 21 ], [ 9, 15, 16, 18 ],
[ 9, 15, 16, 18 ], [ 9, 15, 16, 18 ], [ 10, 15, 20, 21 ],
[ 10, 16, 17, 19 ], [ 10, 16, 17, 19 ], [ 10, 16, 17, 19 ],
[ 11, 17, 18, 20 ], [ 11, 17, 18, 20 ], [ 11, 17, 18, 20 ] ],
autGroup := Group( [ ( 2,14,10,18)( 3, 7,19,15)( 4,20, 8,12)( 5,13,17, 9),
( 1,17, 5, 9)( 2,10,14, 6)( 4,16,12,20)( 7,15,19,11),
( 1,18,19,12)( 2,11, 8, 9)( 3, 4,17, 6)( 5,10,15,20)( 7,16,13,14) ] ),
blockSizes := [ 4 ],
isBinary := true,
allTDesignLambdas := [ 105, 20, 3 ],
isSimple := false )
</pre>
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<address>design manual<br>November 2024
</address></body></html>
¤ Dauer der Verarbeitung: 0.5 Sekunden
¤
*© Formatika GbR, Deutschland
|
|