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