[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
The Point-Set and Block-Set of an Incidence Structure

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

Subsections

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. The point-set and block-set of an incidence structure are enriched sets and consequently constitute types. Note the use of a hyphen to distinguish between ordinary sets of points and blocks and these type of "sets". As in the constructors given above, the point-set and block-set are returned as the second and third arguments, respectively, of all functions which create incidence structures. Alternatively, a pair of functions are provided to extract the point-set and block-set of an incidence structure D. The main purpose of having point-sets and block-sets as types is to provide a convenient mechanism for referring to the points and blocks of an incidence structure. Here, 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. The category names for point-sets and block-sets are SetIncPt and SetIncBlk respectively.

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

Creating Points and Blocks

The category names for points and blocks of incidence structures in Magma are IncPt and IncBlk respectively. They can be created in the following ways.

Point(D, i) : Inc, RngIntElt -> IncPt
D . i : Inc, RngIntElt -> IncPt
The i-th point of the incidence structure D.
P . i : SetIncPt, 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) : SetIncPt -> IncPt
Rep(P) : SetIncPt -> IncPt
Given the point-set P of an incidence structure D, return a representive point of D.
Random(P) : SetIncPt -> IncPt
Given the point-set P of an incidence structure D, return a random point of D.
P ! x : SetIncPt, 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 : SetIncBlk, 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) : SetIncBlk -> IncBlk
Rep(B) : SetIncBlk -> IncBlk
Given the block-set B of an incidence structure D, return a representive block of D.
Random(B) : SetIncBlk -> IncBlk
Given the block-set B of an incidence structure D, return a random block of D.
B ! S : SetIncBlk, 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 representive 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 (H42E2)

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} >;
> print D;
Incidence Structure on 5 points with 3 blocks
> print P;
The point-set of Incidence Structure on 5 points with 3 blocks
> print B;
The block-set of Incidence Structure on 5 points with 3 blocks
> print B.2;
{2, 8, 10}
> print P.4;
8
> print P!4;
4
> print P.5 eq Point(D, 5);
true
> b := Random(B);
> print b;
{2, 4, 6}
> print Parent(b);
The block-set of Incidence Structure on 5 points with 3 blocks
> p := Rep(b);
> print p;       
2
> print Parent(p);
The point-set of Incidence Structure on 5 points with 3 blocks
> print B!{2, 8, 10};
{2, 8, 10}

[Next] [Prev] [Right] [Left] [Up] [Index] [Root]