63 lines
1.3 KiB
Julia
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
|