The Point-Set and Block-Set of an Incidence Structure

Contents

Introduction

An incidence structure created by Magma consists of three objects: the point-set P, the block-set B and the incidence structure D itself.

Although called the point-set and block-set, P and B are not actual Magma sets. They simply act as the parent structures for the points and blocks (respectively) of the incidence structure D, enabling easy creation of these objects via the ! and . operators.

The point-set P belongs to the Magma category IncPtSet, and the block-set B to the category IncBlkSet.

In this section, the functions used to create point-sets, block-sets and the points and blocks themselves are described.

Creating Point-Sets and Block-Sets

As mentioned above, the point-set and block-set are returned as the second and third arguments of any function which creates an incidence structure. They can also be created via the following two functions.

PointSet(D) : Inc -> IncPtSet
Given an incidence structure D, return the point-set P of D.
BlockSet(D) : Inc -> IncBlkSet
Given an incidence structure D, return the block-set B of D.

Creating Points and Blocks

For efficiency and clarity, the points and blocks of an incidence structure are given special types in Magma. The category names for points and blocks are IncPt and IncBlk, respectively. They can be created in the following ways.

Point(D, i) : Inc, RngIntElt -> IncPt
The i-th point of the incidence structure D.
P . i : IncPtSet, RngIntElt -> IncPt
Given the point-set P of an incidence structure D and an integer i, return the i-th point of D.
Representative(P) : IncPtSet -> IncPt
Rep(P) : IncPtSet -> IncPt
Given the point-set P of an incidence structure D, return a representative point of D.
Random(P) : IncPtSet -> IncPt
Given the point-set P of an incidence structure D, return a random point of D.
P ! x : IncPtSet, Elt -> Incpt
Given the point-set P of an incidence structure D, return the point of D corresponding to the element x of the indexed set used to create D.
Block(D, i) : Inc, RngIntElt -> IncBlk
The i-th block of the incidence structure D.
B . i : IncBlkSet, RngIntElt -> IncBlk
Given the block-set B of an incidence structure D and an integer i, return the i-th block of D.
Representative(B) : IncBlkSet -> IncBlk
Rep(B) : IncBlkSet -> IncBlk
Given the block-set B of an incidence structure D, return a representative block of D.
Random(B) : IncBlkSet -> IncBlk
Given the block-set B of an incidence structure D, return a random block of D.
B ! S : IncBlkSet, SetEnum -> IncBlk
Given the block-set B of an incidence structure D, and a set S, tries to coerce S into B.
Representative(b) : IncBlk -> IncPt
Rep(b) : IncBlk -> IncPt
Given a block b of an incidence structure D, return a representative point of D which is incident with b.
Random(b) : IncBlk -> IncPt
Given a block b of an incidence structure D, return a random point incident with b.

Example Design_points-blocks (H156E2)

The following example shows how points and blocks of an incidence structure can be created.
> V := {@ 2, 4, 6, 8, 10 @};
> D, P, B := IncidenceStructure< V | {2, 4, 6}, {2, 8, 10}, {4, 6, 8} >;
> D;
Incidence Structure on 5 points with 3 blocks
> P;
Point-set of Incidence Structure on 5 points with 3 blocks
> B;
Block-set of Incidence Structure on 5 points with 3 blocks
> B.2;
{2, 8, 10}
> P.4;
8
> P!4;
4
> P.5 eq Point(D, 5);
true
> b := Random(B);
> b;
{2, 4, 6}
> Parent(b);
Block-set of Incidence Structure on 5 points with 3 blocks
> p := Rep(b);
> p;
2
> Parent(p);
Point-set of Incidence Structure on 5 points with 3 blocks
> B!{2, 8, 10};
{2, 8, 10}
V2.28, 13 July 2023