GroupsWithPropertyT/groups/higman.jl

23 lines
452 B
Julia
Raw Permalink Normal View History

2018-09-09 13:15:13 +02:00
struct HigmanGroup <: GAPGroup end
2018-07-31 16:54:35 +02:00
2018-08-08 00:29:22 +02:00
name(G::HigmanGroup) = "HigmanGroup"
2018-07-31 16:54:35 +02:00
2018-08-08 00:29:22 +02:00
function group(G::HigmanGroup)
2018-07-31 16:54:35 +02:00
2018-08-08 00:29:22 +02:00
higman_group = Groups.FPGroup(["a","b","c","d"]);
2018-07-31 16:54:35 +02:00
2018-08-08 00:29:22 +02:00
a,b,c,d = gens(higman_group)
2018-07-31 16:54:35 +02:00
relations = [
2018-08-08 19:38:22 +02:00
b*Comm(b,a),
c*Comm(c,b),
d*Comm(d,c),
a*Comm(a,d)
2018-07-31 16:54:35 +02:00
];
relations = [relations; [inv(rel) for rel in relations]]
2018-08-08 19:38:22 +02:00
Groups.add_rels!(higman_group, Dict(rel => higman_group() for rel in relations))
2018-08-08 00:29:22 +02:00
return higman_group
2018-07-31 16:54:35 +02:00
end