General Design Constructions#
Each of these functions returns three values:
- (i)
The incidence structure \(D\);
- (ii)
The point-set \(P\) of \(D\);
- (iii)
The block-set \(B\) of \(D\).
The Witt Designs#
The \(5\)–(\(12\), \(6\), \(1\)) and \(5\)–(\(24\), \(8\), \(1\)) designs constructed by Witt, also known as the small and large Mathieu designs, respectively, can be constructed in Magma with the following function.
- WittDesign(n): RngIntElt -> Dsgn#
The Witt \(5\)–design on \(n\) points, where \(n = 12\) or \(24\).
- Example: wittex (ex-9c4643)#
We construct the Witt \(5\)–(\(24\), \(8\), \(1\)) design and take its contraction at a point. This contraction is in fact isomorphic to the design constructed above from the unextended binary Golay code.
> D, P, B := WittDesign(24); > D; 5-(24, 8, 1) Design with 759 blocks > p := P.1; > Cp := Contraction(D, p); > Cp; 4-(23, 7, 1) Design with 253 blocks
Difference Sets and their Development#
Let \(G\) be a group of order \(v\) and let \(k\) and \(\lambda\) be positive integers such that \(1 < k < v\). A \((v, k, \lambda)\) difference set for \(G\) is a set \(D\) of \(k\) group elements such that the set
contains every non–identity element of \(G\) exactly \(\lambda\) times.
- DifferenceSet(p, t): RngIntElt, MonStgElt -> { RngIntResElt }#
The difference set of type given by \(t\) (which must be one of
"Q","H6","T","B","B0","O","O0", or"W4") corresponding to the prime \(p\). The types have the same interpretation as given by Marshall Hall in [Hall, 1986], pp. 141–142.
- SingerDifferenceSet(n, q): RngIntElt, RngIntElt -> { RngIntResElt }#
The Singer difference set corresponding to a hyperplane of PG\((n, q)\).
- IsDifferenceSet(B): SetEnum -> BoolElt, RngIntElt#
Returns
trueiff \(B\) is a difference set over an integer residue class ring or a finite group (with an iterator). Iftrue, the value of the parameter \(\lambda\) (i.e., the number of times each non–identity group/ring element appears as a “difference” of elements of \(B\)) is also returned.
- Development(B): { RngElt } -> Inc#
Let \(B\) be a subset of a magma \(A\) which is a difference set relative to \(A\), where \(A\) is either the ring \(Z/mZ\), a finite abelian group or an arbitrary finite group (with an iterator). This function constructs the symmetric design having point set \(A\) and whose blocks consist of the sets obtained by translating \(B\) by each element of \(A\) in turn.
- Development(T): { { Elt } } -> Inc#
Let \(T = \lbrace B_1, \ldots, B_l \rbrace\) be a difference family consisting of subsets of a magma \(A\) which is either the ring \({\mathbb{Z}}/m{\mathbb{Z}}\), a finite abelian group or an arbitrary finite group (with an iterator). This function constructs the incidence structure with point set \(A\) and whose \(i\)-th block is the set \(\lbrace B_1 \cup \ldots \cup B_l \rbrace\) translated by the \(i\)-th element of \(A\).
- Example: Develop Difference Set (ex-b4f959)#
The set \(\lbrace 1, 3, 4, 5, 9 \rbrace\), where the elements are residues modulo \(11\), forms an \((11, 5, 2)\) difference set. We develop this set and construct a \(2\)-\((11, 5, 2)\) design.
> Z11 := IntegerRing(11); > B := { Z11 | 1, 3, 4, 5, 9}; > IsDifferenceSet(B); true 2 > D := Development(B); > D: Maximal; 2-(11, 5, 2) Design with 11 blocks Points: {@ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 @} Blocks: {1, 3, 4, 5, 9}, {2, 4, 5, 6, 10}, {0, 3, 5, 6, 7}, {1, 4, 6, 7, 8}, {2, 5, 7, 8, 9}, {3, 6, 8, 9, 10}, {0, 4, 7, 9, 10}, {0, 1, 5, 8, 10}, {0, 1, 2, 6, 9}, {1, 2, 3, 7, 10}, {0, 2, 3, 4, 8}
We now construct the twin primes (type “T”) difference set modulo 323 (\(= 17 \times 19\)), and its development.
> B := DifferenceSet(17, "T"); > D := Development(B); > D; 2-(323, 161, 80) Design with 323 blocks