GroupsWithPropertyT/groups/caprace.jl

63 lines
1.3 KiB
Julia

module CapraceGroup
using AbstractAlgebra
using Groups
###############################################################################
#
# Generating set
#
###############################################################################
Comm(x,y) = x*y*x^-1*y^-1
function generatingset()
CapraceGroup = Groups.FPGroup(["x","y","z","t","r"]);
x,y,z,t,r = gens(CapraceGroup)
relations = [
x^7,
y^7,
t^2,
r^73,
t*r*t*r,
Comm(x,y)*z^-1,
Comm(x,z),
Comm(y,z),
Comm(x^2*y*z^-1, t),
Comm(x*y*z^3, t*r),
Comm(x^3*y*z^2, t*r^17),
Comm(x, t*r^-34),
Comm(y, t*r^-32),
Comm(z, t*r^-29),
Comm(x^-2*y*z, t*r^-25),
Comm(x^-1*y*z^-3, t*r^-19),
Comm(x^-3*y*z^-2, t*r^-11)
];
relations = [relations; [inv(rel) for rel in relations]]
Groups.add_rels!(CapraceGroup, Dict(rel => CapraceGroup() for rel in relations))
return CapraceGroup, gens(CapraceGroup)
end
function generatingset(parsed_args)
return generatingset()
end
###############################################################################
#
# Misc
#
###############################################################################
function groupname(parsed_args)
return groupname(), 0
end
groupname() = "CapraceGroup"
end # of module CapraceGroup