selection of PropertyTGroup happens inside PropertyTGroups
This commit is contained in:
parent
e02b410240
commit
385d2d4f5e
@ -1,31 +1,51 @@
|
||||
module PropertyTGroups
|
||||
|
||||
using PropertyT
|
||||
using AbstractAlgebra
|
||||
using Nemo
|
||||
using Groups
|
||||
|
||||
export PropertyTGroup, SymmetrizedGroup, GAPGroup, Naive, Symmetrize,
|
||||
export PropertyTGroup, SymmetrizedGroup, GAPGroup,
|
||||
SpecialLinearGroup,
|
||||
SpecialAutomorphismGroup,
|
||||
HigmanGroup,
|
||||
CapraceGroup,
|
||||
MappingClassGroup
|
||||
|
||||
export PropertyTGroup
|
||||
|
||||
abstract type PropertyTGroup end
|
||||
|
||||
abstract type SymmetrizedGroup <: PropertyTGroup end
|
||||
|
||||
abstract type GAPGroup <: PropertyTGroup end
|
||||
|
||||
struct Symmetrize end
|
||||
struct Naive end
|
||||
function PropertyTGroup(args)
|
||||
if haskey(args, "SL")
|
||||
G = PropertyTGroups.SpecialLinearGroup(args)
|
||||
elseif haskey(args, "SAut")
|
||||
G = PropertyTGroups.SpecialAutomorphismGroup(args)
|
||||
elseif haskey(args, "MCG")
|
||||
G = PropertyTGroups.MappingClassGroup(args)
|
||||
elseif haskey(args, "Higman")
|
||||
G = PropertyTGroups.HigmanGroup(args)
|
||||
elseif haskey(args, "Caprace")
|
||||
G = PropertyTGroups.CapraceGroup(args)
|
||||
else
|
||||
throw("You must provide one of --SL, --SAut, --MCG, --Higman, --Caprace")
|
||||
end
|
||||
return G
|
||||
end
|
||||
|
||||
include("autfreegroup.jl")
|
||||
include("speciallinear.jl")
|
||||
|
||||
Comm(x,y) = x*y*x^-1*y^-1
|
||||
|
||||
generatingset(G::GAPGroup) = gens(group(G))
|
||||
function generatingset(G::GAPGroup)
|
||||
S = gens(group(G))
|
||||
return unique([S; inv.(S)])
|
||||
end
|
||||
|
||||
include("mappingclassgroup.jl")
|
||||
include("higman.jl")
|
||||
|
Loading…
Reference in New Issue
Block a user