Opened 11 years ago

Closed 5 years ago

# MatrixGroup() or order() incorrect for G_2(F_3)

Reported by: Owned by: Robert Harron joyner major sage-duplicate/invalid/wontfix group theory MatrixGroup, GAP, order Travis Scrimshaw N/A

### Description (last modified by Frédéric Chapoton)

If I use the generators for the exceptional group G_2(F_3) in its natural 7-dimensional representation over F_3 in the MatrixGroup? constructor, the order of the group returned is 8491392 (twice what it should be). However, if I use the same generators through the gap console within sage, I get the correct size.

```K=GF(3)
sage: gens=[matrix(K,7,[
....: [0,2,0,0,0,0,0],
....: [2,0,0,0,0,0,0],
....: [0,0,0,2,0,0,0],
....: [0,0,2,0,0,0,0],
....: [0,0,0,0,0,2,0],
....: [0,0,0,0,2,0,0],
....: [2,2,2,2,1,1,1]]),
....: matrix(K,7,[
....: [2,0,0,0,0,0,0],
....: [0,0,2,0,0,0,0],
....: [1,1,1,0,0,0,0],
....: [0,0,0,0,2,0,0],
....: [1,0,0,1,1,0,0],
....: [0,0,0,0,0,0,2],
....: [1,0,0,0,0,1,1]])]
sage: M = MatrixGroup(gens); M.order()
8491392
sage: M.gap().Size()
8491392
sage: M.gap().Order()
8491392
sage: gap.Group([gap(gens[0]),gap(gens[1])]).Order()
8491392
```
```gap> m1:= [
> [0,2,0,0,0,0,0],
> [2,0,0,0,0,0,0],
> [0,0,0,2,0,0,0],
> [0,0,2,0,0,0,0],
> [0,0,0,0,0,2,0],
> [0,0,0,0,2,0,0],
> [2,2,2,2,1,1,1]
> ]*Z(3);
gap> m2:= [
> [2,0,0,0,0,0,0],
> [0,0,2,0,0,0,0],
> [1,1,1,0,0,0,0],
> [0,0,0,0,2,0,0],
> [1,0,0,1,1,0,0],
> [0,0,0,0,0,0,2],
> [1,0,0,0,0,1,1]
> ]*Z(3);
gap> Order(Group( m1, m2 ));
4245696
```

### comment:1 Changed 9 years ago by Jeroen Demeyer

Milestone: sage-5.11 → sage-5.12

### comment:2 Changed 9 years ago by For batch modifications

Milestone: sage-6.1 → sage-6.2

### comment:3 Changed 9 years ago by For batch modifications

Milestone: sage-6.2 → sage-6.3

### comment:4 Changed 8 years ago by For batch modifications

Milestone: sage-6.3 → sage-6.4

### comment:5 Changed 7 years ago by Jakob Kroeker

Stopgaps: → todo

### comment:6 Changed 6 years ago by Frédéric Chapoton

Description: modified (diff)

### comment:7 Changed 6 years ago by Frédéric Chapoton

Description: modified (diff)

### comment:8 Changed 6 years ago by Frédéric Chapoton

Description: modified (diff)

### comment:9 Changed 6 years ago by Frédéric Chapoton

Compare

```sage: L = [gap(GF(3)(i)) for i in range(3)]; L
[0*Z(3), Z(3)^0, Z(3)]
```

and

```gap> [0, 1, 2]*Z(3);
[ 0*Z(3), Z(3), Z(3)^0 ]
```

### comment:10 Changed 6 years ago by Frédéric Chapoton

same problems for other finite fields of prime order

```sage: p=5; L = [gap(GF(p)(i)) for i in range(p)]; L
[0*Z(5), Z(5)^0, Z(5), Z(5)^3, Z(5)^2]
```

versus

```gap> p:=5; [0..p-1]*Z(p);
5
[ 0*Z(5), Z(5), Z(5)^2, Z(5)^0, Z(5)^3 ]
```

EDIT Note also that

```gap> One(ZmodnZ(5));
Z(5)^0
gap> One(Z(5));
Z(5)^0
gap> One(GF(5));
Z(5)^0
```

So our conversion seems to be consistent with gap..

Last edited 6 years ago by Frédéric Chapoton (previous) (diff)

### comment:11 Changed 6 years ago by Frédéric Chapoton

This boils down to

```gap> 1*Z(5);
Z(5)
gap> One(Z(5));
Z(5)^0
```

which is indeed not very-good looking.

### comment:12 Changed 6 years ago by Frédéric Chapoton

Milestone: sage-6.4 → sage-duplicate/invalid/wontfix new → needs_review todo

ok, so this must come from a confusion: in Gap, Z(5) is not the one of the finite field, but a generator of the group of invertible elements. This means that your matrices are not the correct ones, I think.

I propose to close this as invalid.

### comment:13 Changed 6 years ago by Travis Scrimshaw

Reviewers: → Travis Scrimshaw needs_review → positive_review

Confirmed:

```gap> One(GF(5));
Z(5)^0
```

and replacing by the above yields:

```gap> Order(Group( m1, m2 ));
8491392
```

From the GAP manual:

The root returned by `Z` is a generator of the multiplicative group of the finite field with pd elements, which is cyclic.

Last edited 6 years ago by Travis Scrimshaw (previous) (diff)

### comment:14 Changed 5 years ago by Erik Bray

Resolution: → wontfix positive_review → closed

Closing tickets in the sage-duplicate/invalid/wontfix module with positive_review (i.e. someone has confirmed they should be closed).

Note: See TracTickets for help on using tickets.