[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Automorphism Group of a Design or Set System

Automorphism Group of a Design or Set System

AutomorphismGroup(p, B) : RngIntElt, [ { RngIntElt } ] -> GrpPerm
Let V be the set of integers { 1, 2, ..., p } and let B = { B_1, ..., B_q } be a collection of subsets of V (actually stored as a sequence). The pair (V, B) is called a design. This function computes the automorphism group of a design D. This automorphism group is obtained as the automorphism group of an associated graph constructed according to the following rules: Now colour the vertices of V green and those of B red.

The automorphism group of S is the automorphism group of this vertex-coloured graph.


Example Graph_BlockAutomorphismGroup (H39E4)

We construct the automorphism group of the block design corresponding to the projective plane PG(2, 2).

> B1 := { 1, 2, 4 };
> B2 := { 2, 3, 5 };
> B3 := { 3, 4, 6 };
> B4 := { 4, 5, 7 };
> B5 := { 5, 6, 1 };
> B6 := { 6, 7, 2 };
> B7 := { 7, 1, 3 };
> D := [ B1, B2, B3, B4, B5, B6, B7 ];
> aut := AutomorphismGroup( 7, D );
> print aut;
    Permutation group aut acting on a set of cardinality 14
    Order = 168 = 2^3 * 3 * 7
        (3, 5)(6, 7)(10, 11)(12, 14)
        (3, 6)(5, 7)(9, 13)(12, 14)
        (2, 3)(4, 7)(8, 14)(10, 13)
        (1, 2)(5, 7)(9, 14)(12, 13)
> print Orbits(aut);
    [
        GSet{ 1, 2, 3, 4, 5, 6, 7 },
        GSet{ 11, 12, 13, 14, 8, 9, 10 }
    ]
> // Restriction of this group to the orbit containing 1 gives the action
> // of the automorphism group on the points of the design
> A := OrbitImage(aut, 1);
> print A;
    Permutation group A of degree 7
    Order = 168 = 2^3 * 3 * 7
            (3, 5)(6, 7)
            (3, 6)(5, 7)
            (2, 3)(4, 7)
            (1, 2)(5, 7)
> // We determine the stabilizer of the block B1
> StabB1 := Stabilizer(A, B1);
> print StabB1;
    Permutation group StabB1 of degree 7
    Order = 24 = 2^3 * 3
            (3, 7)(5, 6)
            (1, 2)(5, 7)
            (2, 4)(5, 6)
The function DifferenceSet given below may be used to construct a design from a perfect difference set. We use this procedure to construct a (19, 9, 4)-design and then proceed to compute its automorphism group.

> DifferenceSet := function(S, n)
>    
>     // Given a set of integers S which form a perfect difference set
>     // modulo n, create the corresponding design D.
>    
>      D :=  [ { (x + i) mod n + 1 : x in S } : i in [0..n-1] ];
>      return D;
>    
> end function;
>
> DSet := [1, 4, 5, 6, 7, 9, 11, 16, 17];
> D := DifferenceSet(DSet, 19);
> print D;
    [
       { 2, 5, 6, 7, 8, 10, 12, 17, 18 },
       { 3, 6, 7, 8, 9, 11, 13, 18, 19 },
       { 4, 7, 8, 9, 10, 12, 14, 19, 1 },
       { 5, 8, 9, 10, 11, 13, 15, 1, 2 },
       { 6, 9, 10, 11, 12, 14, 16, 2, 3 },
       { 7, 10, 11, 12, 13, 15, 17, 3, 4 },
       { 8, 11, 12, 13, 14, 16, 18, 4, 5 },
       { 9, 12, 13, 14, 15, 17, 19, 5, 6 },
       { 10, 13, 14, 15, 16, 18, 1, 6, 7 },
       { 11, 14, 15, 16, 17, 19, 2, 7, 8 },
       { 12, 15, 16, 17, 18, 1, 3, 8, 9 },
       { 13, 16, 17, 18, 19, 2, 4, 9, 10 },
       { 14, 17, 18, 19, 1, 3, 5, 10, 11 },
       { 15, 18, 19, 1, 2, 4, 6, 11, 12 },
       { 16, 19, 1, 2, 3, 5, 7, 12, 13 },
       { 17, 1, 2, 3, 4, 6, 8, 13, 14 },
       { 18, 2, 3, 4, 5, 7, 9, 14, 15 },
       { 19, 3, 4, 5, 6, 8, 10, 15, 16 },
       { 1, 4, 5, 6, 7, 9, 11, 16, 17 }
    ]
> Aut := AutomorphismGroup(19, D);
> A := OrbitImage(Aut, 1);
> print A;
    Permutation group A of degree 19
    Order = 171 = 3^2 * 19
        (2, 5, 17, 8, 10, 18, 12, 7, 6)(3, 9, 14, 15, 19, 16, 4, 13, 11)
        (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
> // We look at the classes and normal subgroups of the automorphism group
> print Classes(A);
    Conjugacy Classes of group A
    ----------------------------
        Order 1       Length 1      
        Rep Id(A)

Order 3 Length 19 Rep (1, 7, 11)(2, 14, 3)(4, 9, 6)(5, 16, 17)(8, 18, 12)(10, 13, 15)

Order 3 Length 19 Rep (1, 11, 7)(2, 3, 14)(4, 6, 9)(5, 17, 16)(8, 12, 18)(10, 15, 13)

Order 9 Length 19 Rep (1, 4, 16, 7, 9, 17, 11, 6, 5)(2, 8, 13, 14, 18, 15, 3, 12, 10)

Order 9 Length 19 Rep (1, 16, 9, 11, 5, 4, 7, 17, 6)(2, 13, 18, 3, 10, 8, 14, 15, 12)

Order 9 Length 19 Rep (1, 9, 5, 7, 6, 16, 11, 4, 17)(2, 18, 10, 14, 12, 13, 3, 8, 15)

Order 9 Length 19 Rep (1, 17, 4, 11, 16, 6, 7, 5, 9)(2, 15, 8, 3, 13, 12, 14, 10, 18)

Order 9 Length 19 Rep (1, 6, 17, 7, 4, 5, 11, 9, 16)(2, 12, 15, 14, 8, 10, 3, 18, 13)

Order 9 Length 19 Rep (1, 5, 6, 11, 17, 9, 7, 16, 4)(2, 10, 12, 3, 15, 18, 14, 13, 8)

Order 19 Length 9 Rep (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)

Order 19 Length 9 Rep (1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 2, 4, 6, 8, 10, 12, 14, 16, 18) > print NormalSubgroups(A); [1] Order 1 Generating classes: [1] Union of classes: [1] --- [2] Order 19 Generating classes: [10] Union of classes: [1] [10] [11] --- [3] Order 57 Generating classes: [2] Maximals: [2] Union of classes: [1] [2] [3] [10] [11] --- [4] Order 171 Generating classes: [4] Maximals: [3] Union of classes: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] > print IsPrimitive(A); true > print IsFrobenius(A); true > // Thus the group is a Frobenius group and the normal subgroup of order 19 > // must be the Frobenius kernel.


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