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.
Given an incidence structure D, return the block-set B of D.
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
The i-th point of the incidence structure D.
Given the point-set P of an incidence structure D and an integer i, return the i-th point of D.
Given the point-set P of an incidence structure D, return a representive point of D.
Given the point-set P of an incidence structure D, return a random point of D.
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.
The i-th block of the incidence structure D.
Given the block-set B of an incidence structure D and an integer i, return the i-th block of D.
Given the block-set B of an incidence structure D, return a representive block of D.
Given the block-set B of an incidence structure D, return a random block of D.
Given the block-set B of an incidence structure D, and a set S, tries to coerce S into B.
Given a block b of an incidence structure D, return a representive point of D which is incident with b.
Given a block b of an incidence structure D, return a random point incident with b.
> 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}