Let <v> be a positive integer and <B> a non-empty list of non-empty
sorted lists of elements of $\{1,\ldots,<v>\}$.
The first version of this function returns the block design with point-set
$\{1,\ldots,<v>\}$ and block multiset <C>, where <C> is `SortedList(<B>)'.
For the second version of this function, we require <G> to be a group
of permutations of $\{1,\ldots,<v>\}$, and the function returns the
block design with point-set $\{1,\ldots,<v>\}$ and block multiset <C>,
where <C> is the sorted list of the concatenation of the <G>-orbits of
the elements of <B>.
Let <n> be positive integer, <q> a prime-power, and <d> a non-negative
integer less than or equal to <n>. Then this function returns the block
design whose points are the points of the affine space $AG(<n>,<q>)$,
and whose blocks are the $<d>$-flats of $AG(<n>,<q>)$, considering a
$<d>$-flat as a set of points.
Note that the *affine space* $AG(<n>,<q>)$ consists of all the cosets of
all the subspaces of the vector space $V(<n>,<q>)$, with the *points*
being the cosets of the $0$-dimensional subspace and the *$<d>$-flats*
being the cosets of the $<d>$-dimensional subspaces. As is usual, we
identify the points with the vectors in $V(<n>,<q>)$, and these vectors
are given as the point-names.
Let <n> be a non-negative integer, <q> a prime-power, and <d> a
non-negative integer less than or equal to <n>. Then this function
returns the block design whose points are the (projective) points of
the projective space $PG(<n>,<q>)$, and whose blocks are the $<d>$-flats
of $PG(<n>,<q>)$, considering a $<d>$-flat as a set of projective points.
Note that the *projective space* $PG(<n>,<q>)$ consists of all the
subspaces of the vector space $V(<n>+1,<q>)$, with the *projective
points* being the 1-dimensional subspaces and the *$<d>$-flats* being
the $(<d>+1)$-dimensional subspaces.
\beginexample
gap> D:=PGPointFlatBlockDesign(3,2,1);
rec( isBlockDesign := true, v := 15,
blocks := [ [ 1, 2, 3 ], [ 1, 4, 5 ], [ 1, 6, 7 ], [ 1, 8, 9 ],
[ 1, 10, 11 ], [ 1, 12, 13 ], [ 1, 14, 15 ], [ 2, 4, 6 ], [ 2, 5, 7 ],
[ 2, 8, 10 ], [ 2, 9, 11 ], [ 2, 12, 14 ], [ 2, 13, 15 ], [ 3, 4, 7 ],
[ 3, 5, 6 ], [ 3, 8, 11 ], [ 3, 9, 10 ], [ 3, 12, 15 ], [ 3, 13, 14 ],
[ 4, 8, 12 ], [ 4, 9, 13 ], [ 4, 10, 14 ], [ 4, 11, 15 ], [ 5, 8, 13 ],
[ 5, 9, 12 ], [ 5, 10, 15 ], [ 5, 11, 14 ], [ 6, 8, 14 ], [ 6, 9, 15 ],
[ 6, 10, 12 ], [ 6, 11, 13 ], [ 7, 8, 15 ], [ 7, 9, 14 ],
[ 7, 10, 13 ], [ 7, 11, 12 ] ],
autSubgroup := Group([ (8,12)(9,13)(10,14)(11,15),
(1,2,4,8)(3,6,12,9)(5,10)(7,14,13,11) ]),
pointNames := [ <vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)> ] )
gap> AllTDesignLambdas(D);
[ 35, 7, 1 ] \endexample
\>WittDesign( <n> )
Suppose $<n>\in\{9,10,11,12,21,22,23,24\}$.
If $<n>=24$ then this function returns the *large Witt design* $W_{24}$,
the unique (up to isomorphism) 5-(24,8,1) design. If $<n>=24-i$, where
$<i>\in\{1,2,3\}$, then the $i$-fold point-derived design of $W_{24}$
is returned; this is the unique (up to isomorphism) $(5-i)$-$(24-i,8-i,1)$
design.
If $<n>=12$ then this function returns the *small Witt design* $W_{12}$,
the unique (up to isomorphism) 5-(12,6,1) design. If $<n>=12-i$, where
$<i>\in\{1,2,3\}$, then the $i$-fold point-derived design of $W_{12}$
is returned; this is the unique (up to isomorphism) $(5-i)$-$(12-i,6-i,1)$
design.
Suppose <D> is a block design for which every point lies on at least
one block. Then this function returns the dual of <D>, the block design
in which the roles of points and blocks are interchanged, but incidence
(including repeated incidence) stays the same. Note that, since the
list of blocks of a block design is always sorted, the block list of
the dual of the dual of <D> may not be equal to the block list of <D>.
Suppose <D> is a binary incomplete-block design.
Then this function returns the block design on the same
point-set as <D>, whose blocks are the complements of
those of <D> (complemented with respect to the point-set).
\beginexample
gap> D:=PGPointFlatBlockDesign(2,2,1);
rec( isBlockDesign := true, v := 7,
pointNames := [ <vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)> ],
blocks := [ [ 1, 2, 3 ], [ 1, 4, 5 ], [ 1, 6, 7 ], [ 2, 4, 6 ],
[ 2, 5, 7 ], [ 3, 4, 7 ], [ 3, 5, 6 ] ] )
gap> AllTDesignLambdas(D);
[ 7, 3, 1 ]
gap> C:=ComplementBlocksBlockDesign(D);
rec( isBlockDesign := true, v := 7,
blocks := [ [ 1, 2, 4, 7 ], [ 1, 2, 5, 6 ], [ 1, 3, 4, 6 ], [ 1, 3, 5, 7 ],
[ 2, 3, 4, 5 ], [ 2, 3, 6, 7 ], [ 4, 5, 6, 7 ] ],
pointNames := [ <vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)>,
<vector space of dimension 1 over GF(2)> ] )
gap> AllTDesignLambdas(C);
[ 7, 4, 2 ] \endexample
\>DeletedPointsBlockDesign( <D>, <Y> )
Suppose <D> is a block design and <Y> is a proper subset of the point-set
of <D>.
Then this function returns the block design $DP$ obtained from <D> by
deleting the points in <Y> from the point-set, and from each block.
It is an error if the resulting design contains an empty block.
The points of $DP$ are relabelled $1,2,...$, preserving the order of
the corresponding points of <D>; the point-names of $DP$ (listed in
`$DP$.pointNames') are those of these corresponding points of .
Suppose <D> is a block design, and <Y> is a sublist of the block-list
of <D> (<Y> need not be sorted).
Then this function returns the block design obtained from <D> by adding
the new point `<D>.v+1' to the point-set, and adding this new point
(once) to each block of <Y> (where repeats count).
The optional parameter <pointname> specifies a point-name for the
new point.
Suppose <Y> is a list of multisets of points of the block design <D>.
Then this function returns a new block design, whose point-set is that
of <D>, and whose block list is that of <D> with the elements of <Y>
(including repeats) added.
Suppose <D> is a block design, and <x> is a point or block of <D>.
Then this function returns the *derived design* \index{derived design}
$DD$ of <D>, with respect to <x>.
If <x> is a point then $DD$ is the block design whose blocks are those
of <D> containing <x>, but with <x> deleted from these blocks, and the
points of $DD$ are those which occur in some block of $DD$.
If <x> is a block, then the points of $DD$ are the points in <x>, and
the blocks of $DD$ are the blocks of <D> other than <x> containing at
least one point of <x>, but with all points not in <x> deleted from
these blocks. Note that any repeat of <x>, but not <x> itself, is a
block of $DD$.
It is an error if the resulting block design $DD$ has no blocks or an
empty block.
The points of $DD$ are relabelled $1,2,...$, preserving the order of
the corresponding points of <D>; the point-names of $DD$ (listed in
`$DD$.pointNames') are those of these corresponding points of .
Suppose <D> is a block design, and <x> is a point or block of <D>.
Then this function returns the *residual design* \index{residual design}
$RD$ of <D>, with respect to <x>.
If <x> is a point then $RD$ is the block design whose blocks are those
of <D> not containing <x>, and the points of $RD$ are those which occur
in some block of $RD$.
If <x> is a block, then the points of $RD$ are those of <D> not in
<x>, and the blocks of $RD$ are the blocks of <D> (including repeats)
containing at least one point not in <x>, but with all points in <x>
deleted from these blocks.
It is an error if the resulting block design $RD$ has no blocks.
The points of $RD$ are relabelled $1,2,...$, preserving the order of
the corresponding points of <D>; the point-names of $RD$ (listed in
`$RD$.pointNames') are those of these corresponding points of .
For $t$ a non-negative integer, $K$ a set of positive integers, and
$v,\lambda$ positive integers with $t\le v$, a $t$-*wise balanced design*,
or a $t$-$(v,K,\lambda)$ *design*, is a binary block design with exactly
$v$ points, such that each block has size in $K$ and each $t$-subset of
the points is contained in exactly $\lambda$ blocks.
Now let <t> and <k> be positive integers, <D> be a <t>-$(v,K,\lambda)$
design (for some set $K$), and $<t>\le <k>\le k_1$, where exactly $s$
distinct block-sizes $k_1\<\cdots\< k_s$ occur in <D>. Then this
function returns the <t>-design $D^{*}=D^{*}(t,k)$ described and studied
in \cite{McSo}.
The point set of $D^{*}$ is that of <D>, and the block multiset of $D^{*}$
consists of, for each $i=1,\ldots,s$ and each block $B$ of <D> of size
$k_i$ (including repeats), exactly $n/{k_i-t \choose k-t}$ copies of
every $k$-subset of $B$, where $n:=\lcm({k_i-t \choose k-t}:1\le i\le s)$.
It is shown in \cite{McSo} that $D^{*}$ is a $t$-$(v,k,n\lambda)$ design,
that $\Aut(D)\subseteq\Aut(D^{*})$, and that if $\lambda=1$ and $t\<k$,
then $\Aut(D)=\Aut(D^{*})$.
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 und die Messung sind noch experimentell.