Operations on Points and Blocks#
In incidence structures, particularly simple ones, blocks are basically sets. For this reason, the elementary set operations such as join, meet and subset have been made to work on blocks. However, blocks are not true Magma enumerated sets, and so the functions Set and Support below have been provided to convert a block to an enumerated set of points for other uses.
- p in B: IncPt, IncBlk -> BoolElt#
Returns
trueif point \(p\) lies in block \(B\), otherwisefalse.
- p notin B: IncPt, IncBlk -> BoolElt#
Returns
trueif point \(p\) does not lie in block \(B\), otherwisefalse.
- S subset B: { IncPt }, IncBlk -> BoolElt#
Given a subset \(S\) of the point set of the incidence structure \(D\) and a block \(B\) of \(D\), return
trueif the subset \(S\) of points lies in \(B\), otherwisefalse.
- S notsubset B: { IncPt }, IncBlk -> BoolElt#
Given a subset \(S\) of the point set of the incidence structure \(D\) and a block \(B\) of \(D\), return
trueif the subset \(S\) of points does not lie in \(B\), otherwisefalse.
- PointDegree(D, p): Inc, IncPt -> RngIntElt#
The number of blocks of the incidence structure \(D\) that contain the point \(p\).
- BlockDegree(D, B): Inc, IncBlk -> RngIntElt#
- BlockSize(D, B): Inc, IncBlk -> RngIntElt#
- # B: IncBlk -> RngIntElt#
The number of points contained in the block \(B\) of the incidence structure \(D\).
- Set(B): IncBlk -> { IncPt }#
The set of points contained in the block \(B\).
- Support(B): IncBlk -> { Elt }#
The set of underlying points contained in the block \(B\) (i.e., the elements of the set have their “real” types; they are no longer from the category IncPt).
- IsBlock(D, S): Inc, IncBlk -> BoolElt, IncBlk#
- IsBlock(D, S): Inc, SetEnum -> BoolElt, IncBlk#
Returns
trueiff the set (or block) \(S\) represents a block of the incidence structure \(D\). Iftrue, also returns one such block.
- Line(D, p, q): Inc, IncPt, IncPt -> IncBlk#
- Block(D, p, q): Inc, IncPt, IncPt -> IncBlk#
A block of the incidence structure \(D\) containing the points \(p\) and \(q\) (if one exists). In linear spaces, such a block exists and is unique (assuming \(p\) and \(q\) are different).
- ConnectionNumber(D, p, B): Inc, IncPt, IncBlk -> RngIntElt#
The connection number \(c(p, B)\); i.e., the number of blocks joining \(p\) to \(B\) in the incidence structure \(D\).
- Example: Pts Blks Ops (ex-f06ff8)#
The following examples uses some of the functions of the previous section.
> D, P, B := Design< 2, 7 | {3, 5, 6, 7}, {2, 4, 5, 6}, {1, 4, 6, 7}, > {2, 3, 4, 7}, {1, 2, 5, 7}, {1, 2, 3, 6}, {1, 3, 4, 5} >; > D: Maximal; 2-(7, 4, 2) Design with 7 blocks Points: {@ 1, 2, 3, 4, 5, 6, 7 @} Blocks: {3, 5, 6, 7}, {2, 4, 5, 6}, {1, 4, 6, 7}, {2, 3, 4, 7}, {1, 2, 5, 7}, {1, 2, 3, 6}, {1, 3, 4, 5} > P.1 in B.1; false > P.1 in B.3; true > {P| 1, 2} subset B.5; true > Block(D, P.1, P.2); {1, 2, 5, 7} > b := B.4; > b; {2, 3, 4, 7} > b meet {2, 8}; { 2 } > S := Set(b); > S, Universe(S); { 2, 3, 4, 7 } Point-set of 2-(7, 4, 2) Design with 7 blocks > Supp := Support(b); > Supp, Universe(Supp); { 2, 3, 4, 7 } Integer Ring