[Up] [Previous] [Next] [Index]

# 3 Examples

### Sections

In this chapter we give some examples of computing with the Package Nilmat.

## 3.1 Constructing some nilpotent matrix groups

```gap> g1 := MaximalAbsolutelyIrreducibleNilpotentMatGroup(52,3,3);
<matrix group with 7 generators>
```

The group `g1` is a subgroup of GL(52,33) generated by 7 matrices.

```gap> g2 := MaximalAbsolutelyIrreducibleNilpotentMatGroup(180,11,2);
<matrix group with 41 generators>
```

The group `g2` is a subgroup of GL(180,112) generated by 41 matrices.

```gap> MaximalAbsolutelyIrreducibleNilpotentMatGroup(210,2,10);
fail
```

In this third example, absolutely irreducible nilpotent subgroups of GL(210,210) do not exist, because the degree of the matrices and the field size are both even.

```gap> g3 := MonomialNilpotentMatGroup(450);
<matrix group with 24 generators>
```

Here `g3` is a monomial nilpotent subgroup of GL(450,Q).

```gap> g4 := ReducibleNilpotentReducibleMatGroup(3,180,11,2);
<matrix group with 82 generators>
```

Here g4 < GL(540,112) is the Kronecker product of a unipotent subgroup of GL(3,112) and the group `g2`.

```gap> g5 := ReducibleNilpotentMatGroup(7,36);
<matrix group with 72 generators>
```

Here g5 < GL(252, Q) is a reducible nilpotent group constructed as the Kronecker product of a unipotent subgroup of GL(7,Q) with `MonomialNilpotentMatGroup(36)`.

## 3.2 Testing nilpotency and other functions

We now illustrate use of the functions `IsNilpotentMatGroup`, `SylowSubgroupsOfNilpotentFFMatGroup`, `IsFiniteNilpotentMatGroup`, `SizeOfNilpotentMatGroup`, and `IsCompletelyReducibleNilpotentMatGroup`.

```gap> IsNilpotentMatGroup(GL(200,Rationals));
false

gap> IsNilpotentMatGroup(GL(150,11^3));
false

gap> g6 := MaximalAbsolutelyIrreducibleNilpotentMatGroup(127,2,7);
<matrix group with 3 generators>
gap> IsNilpotentMatGroup(g6);
true

gap> g7 := MonomialNilpotentMatGroup(350);
<matrix group with 6 generators>
gap> IsNilpotentMatGroup(g7);
true
gap> IsFiniteNilpotentMatGroup(g7);
true

gap> g8 := ReducibleNilpotentMatGroup(6,35);
<matrix group with 5 generators>
gap> IsNilpotentMatGroup(g8);
true
gap> IsFiniteNilpotentMatGroup(g8);
false

gap> g9 := ReducibleNilpotentMatGroup(2,36,5,2);
<matrix group with 21 generators>
gap> SylowSubgroupsOfNilpotentFFMatGroup(g9);
[ <matrix group with 5 generators>, <matrix group with 6
generators>, <matrix group with 1 generators> ]
gap> IsCompletelyReducibleNilpotentMatGroup(g9);
false

gap> g10 := MaximalAbsolutelyIrreducibleNilpotentMatGroup(24,5,2);
<matrix group with 17 generators>
gap> SizeOfNilpotentMatGroup(g10);
173946175488
gap> IsCompletelyReducibleNilpotentMatGroup(g10);
true

gap> g11 := MonomialNilpotentMatGroup(96);
<matrix group with 31 generators>
gap> SizeOfNilpotentMatGroup(g11);
6442450944
gap> IsCompletelyReducibleNilpotentMatGroup(g11);
true
```

## 3.3 Using the library of primitive nilpotent groups

This section gives examples of applying the functions from the Nilmat library of primitive nilpotent subgroups of GL(n,q).

```gap> L0 := NilpotentPrimitiveMatGroups(2,3,1);
[ Group([ [ [ 0*Z(3), Z(3)^0 ], [ Z(3)^0, Z(3)^0 ] ] ]),
Group([ [ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3)^0 ] ],
[ [ Z(3), Z(3)^0 ], [ Z(3), Z(3) ] ],
[ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3) ] ] ]),
Group([ [ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3)^0 ] ],
[ [ 0*Z(3), Z(3)^0 ], [ Z(3), 0*Z(3) ] ],
[ [ Z(3), Z(3) ], [ Z(3), Z(3)^0 ] ] ]) ]
gap> SizesOfNilpotentPrimitiveMatGroups(2,3,1);
[ 8, 8, 16 ]
gap> List(L0,Size);
[ 8, 8, 16 ]

gap> L1 := NilpotentPrimitiveMatGroups(2,2,10);;
gap> Length(L1);
40
gap> Size(L1[38]);
209715
gap> s := SizesOfNilpotentPrimitiveMatGroups(2,2,10);;
[ 5, 15, 25, 41, 55, 75, 123, 155,
165, 205, 275, 451, 465, 615, 775, 825, 1025, 1271, 1353, 1705,
2255, 2325, 3075, 3813, 5115, 6355, 6765, 8525, 11275, 13981,
19065, 25575, 31775, 33825, 41943, 69905, 95325, 209715,
349525, 1048575 ]

gap> L2 := NilpotentPrimitiveMatGroups(55,3,1);;
gap> Length(L2);
114

gap> L3 := NilpotentPrimitiveMatGroups(6,3,3);;
gap> Length(L3);
110

gap> L4 := NilpotentPrimitiveMatGroups(22,11,1);;
gap> Length(L3);
1002
```

The lists `L1` and `L2` contain only abelian groups, while `L3` and `L4` contain non-abelian nilpotent groups.

[Up] [Previous] [Next] [Index]

Nilmat manual
September 2017