Construct the incidence structure D having point set P = {@ p_1, p_2, ..., p_v @} (where p_i = i for each i if the first form of the constructor is used), and block set B = { B_1, B_2, ..., B_b } given by X. The value of X must be either:The incidence structure D produced by this constructor will have P as its point set and B as its set of blocks. The function returns three values:
- A list of subsets of the set P.
- A sequence, set or indexed set of subsets of P.
- A list of blocks of an existing incidence structure.
- A sequence, set or indexed set of blocks of an existing incidence structure.
- A combination of the above.
- A v x b (0, 1)-matrix A, where A may be defined over any coefficient ring. The matrix A will be interpreted as the incidence matrix for the incidence structure D.
- A set of codewords of a linear code with length v. The block set of D is taken to be the set of supports of the codewords.
- The incidence structure D;
- The point-set P for D; and
- The block-set B for D.
Check: BoolElt Default: true
Construct the near-linear space S on the set of points P = {@ p_1, p_2, ..., p_v @} (where p_i = i for each i if the first form of the constructor is used), with lines L = { L_1, L_2, ..., L_b } given by X. The value of X must be either:The set of lines L defined by X must satisfy two properties:
- A list of subsets of the set P.
- A sequence, set or indexed set of subsets of P.
- A list of blocks of an existing incidence structure.
- A sequence, set or indexed set of blocks of an existing incidence structure.
- A combination of the above.
- A v x b (0, 1)-matrix A, where A may be over any coefficient ring. The matrix A will be interpreted as the incidence matrix for the near-linear space S.
- A set of codewords of a linear code with length v. The line set of S is taken to be the set of supports of the codewords.
The optional boolean argument Check indicates whether or not to check that these two properties are satisfied.
- Each line of L must contain at least two points;
- Any two points of P may lie on at most one line.
The near-linear space S produced by this constructor will have P as its point set and L as its set of lines. The function returns three values:
- The near-linear space S;
- The point-set P for S; and
- The line-set L for S.
Check: BoolElt Default: true
Construct the linear space S on the set of points P = {@ p_1, p_2, ..., p_v @} (where p_i = i for each i if the first form of the constructor is used), with lines L = { L_1, L_2, ..., L_b } given by X. The value of X must be either:
The set of lines L defined by X must satisfy two properties:
- A list of subsets of the set P.
- A sequence, set or indexed set of subsets of P.
- A list of blocks of an existing incidence structure.
- A sequence, set or indexed set of blocks of an existing incidence structure.
- A combination of the above.
- A v x b (0, 1)-matrix A, where A may be defined over any coefficient ring. The matrix A will be interpreted as the incidence matrix for the linear space S.
- A set of codewords of a linear code with length v. The line set of S is taken to be the set of supports of the codewords.
The optional boolean argument Check indicates whether or not to check that these two properties are satisfied.
- Each line of L must contain at least two points;
- Any two points of P must lie on precisely one line.
The linear space S produced by this constructor will have P as its point set and L as its set of lines. The function returns three values:
- The linear space S;
- The point-set P for S; and
- The line-set L for S.
Check: BoolElt Default: true
Construct the t-design D on the set of points P = {@ p_1, p_2, ..., p_v @} (where p_i = i for each i if the first form of the constructor is used), with blocks B = { B_1, B_2, ..., B_b } given by X. The value of X must be either:The set of blocks B defined by X must satisfy three properties:
- A list of subsets of the set P.
- A sequence, set or indexed set of subsets of P.
- A list of blocks of an existing incidence structure.
- A sequence, set or indexed set of blocks of an existing incidence structure.
- A combination of the above.
- A v x b (0, 1)-matrix A, where A may be over any coefficient ring. The matrix A will be interpreted as the incidence matrix for the t-(v, k, lambda) design D.
- A set of codewords of a linear code with length v. The block set of D is taken to be the set of supports of the codewords.
The optional boolean argument Check indicates whether or not to check that these three properties are satisfied.
- Each block must contain the same number, k say, of points.
- Every t-subset of P must lie in the same number, lambda say (where lambda > 0), of blocks.
- There must be no repeated blocks.
The t-(v, k, lambda) design D produced by this constructor will have P as its point set and B as its set of blocks. The function returns three values:
- The design D;
- The point-set P for D; and
- The block-set B for D.
> F := Design< 2, 7 | {1,2,3}, {1,4,5}, {1,6,7}, {2,4,7}, > {2,5,6}, {3,5,7}, {3,4,6} >; > F: Maximal; 2-(7, 3, 1) Design with 7 blocks Points: {@ 1, 2, 3, 4, 5, 6, 7 @} Blocks: {1, 2, 3}, {1, 4, 5}, {1, 6, 7}, {2, 4, 7}, {2, 5, 6}, {3, 5, 7}, {3, 4, 6}General incidence structures are allowed repeated blocks, as in the following:
> S := IncidenceStructure< {@ 4, 5, 7, 9 @} | [{4, 5, 7}, {7, 9}, > {5, 7, 9} , {7, 9}] >; > S: Maximal; Incidence Structure on 4 points with 4 blocks Points: {@ 4, 5, 7, 9 @} Blocks: {4, 5, 7}, {7, 9}, {5, 7, 9}, {7, 9}We now construct a linear space by giving its incidence matrix:
> R := RMatrixSpace(Integers(), 5, 6); > I := R![ 1, 0, 1, 1, 0, 0, > 1, 0, 0, 0, 1, 1, > 1, 1, 0, 0, 0, 0, > 0, 1, 1, 0, 1, 0, > 0, 1, 0, 1, 0, 1]; > L := LinearSpace< 5 | I >; > L: Maximal; Linear Space on 5 points with 6 lines Points: {@ 1, 2, 3, 4, 5 @} Lines: {1, 2, 3}, {3, 4, 5}, {1, 4}, {1, 5}, {2, 4}, {2, 5}Finally, we use the minimum weight codewords of the unextended binary Golay code to construct a 4-(23, 7, 1) design. Since we know that this is indeed a 4-design, we set the checking parameter to false.
> C := GolayCode(GF(2), false); > C; [23, 12, 7] Unextended Golay Code over GF(2) Generator matrix: [1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1] [0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1] [0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1] [0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 1] [0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 0] [0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0] [0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1] [0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0] [0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0] [0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1] [0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0] [0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1] > minwt := MinimumWeight(C); > minwt; 7 > wds := Words(C, minwt); > D := Design< 4, Length(C) | wds : Check := false >; > D; 4-(23, 7, 1) Design with 253 blocks