Construct the incidence structure D having point set P = {@ p1, p2, ..., pv @} (where pi = i for each i if the first form of the constructor is used), and block set B = { B1, B2, ..., Bb } 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)
- A list of subsets of the set P.
- (b)
- A sequence, set or indexed set of subsets of P.
- (c)
- A list of blocks of an existing incidence structure.
- (d)
- A sequence, set or indexed set of blocks of an existing incidence structure.
- (e)
- A combination of the above.
- (f)
- 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.
- (g)
- 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.
- (i)
- The incidence structure D;
- (ii)
- The point-set P for D; and
- (iii)
- The block-set B for D.
Check: BoolElt Default: true
Construct the near--linear space S on the set of points P = {@ p1, p2, ..., pv @} (where pi = i for each i if the first form of the constructor is used), with lines L = { L1, L2, ..., Lb } given by X. The value of X must be either:The set of lines L defined by X must satisfy two properties:
- (a)
- A list of subsets of the set P.
- (b)
- A sequence, set or indexed set of subsets of P.
- (c)
- A list of blocks of an existing incidence structure.
- (d)
- A sequence, set or indexed set of blocks of an existing incidence structure.
- (e)
- A combination of the above.
- (f)
- 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.
- (g)
- 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.
- (a)
- Each line of L must contain at least two points;
- (b)
- 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:
- (i)
- The near--linear space S;
- (ii)
- The point-set P for S; and
- (iii)
- The line-set L for S.
Check: BoolElt Default: true
Construct the linear space S on the set of points P = {@ p1, p2, ..., pv @} (where pi = i for each i if the first form of the constructor is used), with lines L = { L1, L2, ..., Lb } given by X. The value of X must be either:The set of lines L defined by X must satisfy two properties:
- (a)
- A list of subsets of the set P.
- (b)
- A sequence, set or indexed set of subsets of P.
- (c)
- A list of blocks of an existing incidence structure.
- (d)
- A sequence, set or indexed set of blocks of an existing incidence structure.
- (e)
- A combination of the above.
- (f)
- 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.
- (g)
- 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.
- (a)
- Each line of L must contain at least two points;
- (b)
- 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:
- (i)
- The linear space S;
- (ii)
- The point-set P for S; and
- (iii)
- The line-set L for S.
Check: BoolElt Default: true
Al: MonStg Default: "NoOrbits"
Construct the t--design D on the set of points P = {@ p1, p2, ..., pv @} (where pi = i for each i if the first form of the constructor is used), with blocks B = { B1, B2, ..., Bb } given by X. The value of X must be either:The set of blocks B defined by X must satisfy three properties:
- (a)
- A list of subsets of the set P.
- (b)
- A sequence, set or indexed set of subsets of P.
- (c)
- A list of blocks of an existing incidence structure.
- (d)
- A sequence, set or indexed set of blocks of an existing incidence structure.
- (e)
- A combination of the above.
- (f)
- 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, λ) design D.
- (g)
- 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. The optional parameter Al can be used to specify the algorithm used for balance testing, see the introduction to Section Elementary Properties of Incidence Structures and Designs for a full description of its usage.
- (a)
- Each block must contain the same number, k say, of points.
- (b)
- Every t--subset of P must lie in the same number, λ say (where λ > 0), of blocks.
- (c)
- There must be no repeated blocks.
The t--(v, k, λ) 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:
- (i)
- The design D;
- (ii)
- The point-set P for D; and
- (iii)
- 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