# Abstract Group Predicates

## `IsAbelian(G): GrpMat -> BoolElt`

Returns `true` if the group $G$ is abelian, `false` otherwise.

## `IsCyclic(G): GrpMat -> BoolElt`

Returns `true` if the group $G$ is cyclic, `false` otherwise.

## `IsElementaryAbelian(G): GrpMat -> BoolElt`

Returns `true` if the group $G$ is elementary abelian, `false` otherwise.

## `IsNilpotent(G): GrpMat -> BoolElt`

Returns `true` if the group $G$ is nilpotent, `false` otherwise.

## `IsSoluble(G): GrpMat -> BoolElt`

## `IsSolvable(G): GrpMat -> BoolElt`

Returns `true` if the group $G$ is soluble, `false` otherwise.

## `IsPerfect(G): GrpMat -> BoolElt`

Returns `true` if the group $G$ is perfect, `false` otherwise.

## `IsSimple(G): GrpMat -> BoolElt`

Returns `true` if the group $G$ is simple, `false` otherwise.

## `Example: Order (ex-3d20f4)`

We illustrate the functions of the last two section by applying them to a group of degree $6$ over the field ${\bf F}_{9}$.

```magma
> F9<w> := GF(9);
> y := w^6;  z := w^2;
> J2A2 := MatrixGroup< 6, F9 | [y, 1-y, z,0,0,0, 1-y ,z, -1,0,0,0, z, -1,1+y,
>                               0,0,0,0,0,0, z, 1+y, y, 0,0,0,1+y, y, -1, 0,
>                               0,0, y ,-1,1-y],
>                              [1+y, z, y, 0,0,0, z, 1+y, z, 0,0,0, y, z, 1+y,
>                               0,0,0, z, 0,0,1-y, y, z, 0, z, 0, y, 1-y, y,
>                               0,0, z, z, y, 1-y],
>                              [0,0,0,y, 0,0, 0,0,0,0,y, 0, 0,0,0,0,0,y,
>                               y, 0,0,0,0,0, 0,y, 0,0,0,0, 0,0,y, 0,0,0] >;
> J2A2;
MatrixGroup(6, GF(3, 2))
Generators:
[w^6 w^3 w^2   0   0   0]
[w^3 w^2   2   0   0   0]
[w^2   2   w   0   0   0]
[  0   0   0 w^2   w w^6]
[  0   0   0   w w^6   2]
[  0   0   0 w^6   2 w^3]

[  w w^2 w^6   0   0   0]
[w^2   w w^2   0   0   0]
[w^6 w^2   w   0   0   0]
[w^2   0   0 w^3 w^6 w^2]
[  0 w^2   0 w^6 w^3 w^6]
[  0   0 w^2 w^2 w^6 w^3]

[  0   0   0 w^6   0   0]
[  0   0   0   0 w^6   0]
[  0   0   0   0   0 w^6]
[w^6   0   0   0   0   0]
[  0 w^6   0   0   0   0]
[  0   0 w^6   0   0   0]
> Order(J2A2);
1209600
> FactoredOrder(J2A2);
[ <2, 8>, <3, 3>, <5, 2>, <7, 1> ]
> IsSoluble(J2A2);
false
> IsPerfect(J2A2);
true
> IsSimple(J2A2);
false

```

Thus the group is non-soluble and perfect but it is not a simple group. We examine its Sylow$2$-subgroup.

```magma
> S2 := SylowSubgroup(J2A2, 2);
> IsAbelian(S2);
false
> IsNilpotent(S2);
true
> IsSpecial(S2);
false

```
