Discussion:
[GAP Forum] polycyclic representation
Bill Allombert
2018-09-18 13:42:44 UTC
Permalink
Dear GAP Forum,

I wrote some number theory program that incidentely produces a
polycyclic presentation for a group of order 128.
After exporting to GAP syntax, GAP tells me the order is 64 instead.
After exporting to Magma syntax, Magma tells me the group is
SmallGroup(128,924) as expected.

Is my GAP syntax below correct for a polycyclic presentation
(with all relatives orders equal to 2) ?

F:=FreeGroup(7);;
H:=F/[(F.1)^-2,
(F.2)^-2*F.1,
(F.3)^-2,
(F.4)^-2*F.1*F.2*F.3,
(F.5)^-2*F.1*F.2*F.3*F.4,
(F.6)^-2*F.2*F.4,
(F.7)^-2*F.1*F.2,
Comm(F.1,F.2),Comm(F.1,F.3),Comm(F.1,F.4),Comm(F.1,F.5),Comm(F.1,F.6),Comm(F.1,F.7),
Comm(F.2,F.3),Comm(F.2,F.4),Comm(F.2,F.5),Comm(F.2,F.6)*F.1,Comm(F.2,F.7),
Comm(F.3,F.4),Comm(F.3,F.5),Comm(F.3,F.6)*F.1,Comm(F.3,F.7)*F.1,
Comm(F.4,F.5),Comm(F.4,F.6)*F.1,Comm(F.4,F.7)*F.1*F.2*F.3,
Comm(F.5,F.6)*F.1*F.2,Comm(F.5,F.7)*F.1*F.2*F.4,
Comm(F.6,F.7)*F.1*F.2*F.3*F.4];
Size(H);

I found a smaller example where GAP and Magma disagree:
GAP:

F:=FreeGroup(4);;
H:=F/[(F.1)^-2,(F.2)^-2*F.1,(F.3)^-2,(F.4)^-2*F.2,Comm(F.1,F.2),Comm(F.1,F.3),Comm(F.1,F.4),Comm(F.2,F.3)*F.1,Comm(F.2,F.4),Comm(F.3,F.4)*F.2];
IdGroup(H);
[ 16, 8 ]

Magma:

Comm := function(a,b) return a*b*a^-1*b^-1; end function;
F:=FreeGroup(4);;
H:=quo<F|(F.1)^-2,(F.2)^-2*F.1,(F.3)^-2,(F.4)^-2*F.2,Comm( F.1,F.2),Comm(F.1,F.3),Comm(F.1,F.4),Comm(F.2,F.3)*F.1,Comm(F.2,F.4),Comm(F.3, F.4)*F.2>;
IdentifyGroup(H);
<16, 7>

(I tried both GAP 4.8.6 and 4.9.3)

Cheers,
Bill
Joshua Edward Hunt
2018-09-18 14:00:14 UTC
Permalink
Dear Bill & Forum,

I suspect the issue here is that GAP defines Comm to be a^-1*b^-1*a*b, not a*b*a^-1*b^-1. At least, if you use the definition for Comm that you gave in your Magma code, then GAP identifies H as (16,7). I would assume it's the same issue in your other example.

Best wishes,
Josh
________________________________________
From: Bill Allombert [***@math.u-bordeaux.fr]
Sent: 18 September 2018 15:42
To: GAP Forum
Subject: [GAP Forum] polycyclic representation

Dear GAP Forum,

I wrote some number theory program that incidentely produces a
polycyclic presentation for a group of order 128.
After exporting to GAP syntax, GAP tells me the order is 64 instead.
After exporting to Magma syntax, Magma tells me the group is
SmallGroup(128,924) as expected.

Is my GAP syntax below correct for a polycyclic presentation
(with all relatives orders equal to 2) ?

F:=FreeGroup(7);;
H:=F/[(F.1)^-2,
(F.2)^-2*F.1,
(F.3)^-2,
(F.4)^-2*F.1*F.2*F.3,
(F.5)^-2*F.1*F.2*F.3*F.4,
(F.6)^-2*F.2*F.4,
(F.7)^-2*F.1*F.2,
Comm(F.1,F.2),Comm(F.1,F.3),Comm(F.1,F.4),Comm(F.1,F.5),Comm(F.1,F.6),Comm(F.1,F.7),
Comm(F.2,F.3),Comm(F.2,F.4),Comm(F.2,F.5),Comm(F.2,F.6)*F.1,Comm(F.2,F.7),
Comm(F.3,F.4),Comm(F.3,F.5),Comm(F.3,F.6)*F.1,Comm(F.3,F.7)*F.1,
Comm(F.4,F.5),Comm(F.4,F.6)*F.1,Comm(F.4,F.7)*F.1*F.2*F.3,
Comm(F.5,F.6)*F.1*F.2,Comm(F.5,F.7)*F.1*F.2*F.4,
Comm(F.6,F.7)*F.1*F.2*F.3*F.4];
Size(H);

I found a smaller example where GAP and Magma disagree:
GAP:

F:=FreeGroup(4);;
H:=F/[(F.1)^-2,(F.2)^-2*F.1,(F.3)^-2,(F.4)^-2*F.2,Comm(F.1,F.2),Comm(F.1,F.3),Comm(F.1,F.4),Comm(F.2,F.3)*F.1,Comm(F.2,F.4),Comm(F.3,F.4)*F.2];
IdGroup(H);
[ 16, 8 ]

Magma:

Comm := function(a,b) return a*b*a^-1*b^-1; end function;
F:=FreeGroup(4);;
H:=quo<F|(F.1)^-2,(F.2)^-2*F.1,(F.3)^-2,(F.4)^-2*F.2,Comm( F.1,F.2),Comm(F.1,F.3),Comm(F.1,F.4),Comm(F.2,F.3)*F.1,Comm(F.2,F.4),Comm(F.3, F.4)*F.2>;
IdentifyGroup(H);
<16, 7>

(I tried both GAP 4.8.6 and 4.9.3)

Cheers,
Bill
Bill Allombert
2018-09-18 14:19:17 UTC
Permalink
Post by Joshua Edward Hunt
Dear Bill & Forum,
I suspect the issue here is that GAP defines Comm to be a^-1*b^-1*a*b,
not a*b*a^-1*b^-1. At least, if you use the definition for Comm that
you gave in your Magma code, then GAP identifies H as (16,7). I would
assume it's the same issue in your other example.
Ah thanks! Indeed it works correctly in all my tests after fixing this...
I would never have guessed...

Cheers,
Bill.

Loading...