selection of PropertyTGroup happens inside PropertyTGroups
This commit is contained in:
parent
e02b410240
commit
385d2d4f5e
@ -1,31 +1,51 @@
|
|||||||
module PropertyTGroups
|
module PropertyTGroups
|
||||||
|
|
||||||
|
using PropertyT
|
||||||
using AbstractAlgebra
|
using AbstractAlgebra
|
||||||
using Nemo
|
using Nemo
|
||||||
using Groups
|
using Groups
|
||||||
|
|
||||||
export PropertyTGroup, SymmetrizedGroup, GAPGroup, Naive, Symmetrize,
|
export PropertyTGroup, SymmetrizedGroup, GAPGroup,
|
||||||
SpecialLinearGroup,
|
SpecialLinearGroup,
|
||||||
SpecialAutomorphismGroup,
|
SpecialAutomorphismGroup,
|
||||||
HigmanGroup,
|
HigmanGroup,
|
||||||
CapraceGroup,
|
CapraceGroup,
|
||||||
MappingClassGroup
|
MappingClassGroup
|
||||||
|
|
||||||
|
export PropertyTGroup
|
||||||
|
|
||||||
abstract type PropertyTGroup end
|
abstract type PropertyTGroup end
|
||||||
|
|
||||||
abstract type SymmetrizedGroup <: PropertyTGroup end
|
abstract type SymmetrizedGroup <: PropertyTGroup end
|
||||||
|
|
||||||
abstract type GAPGroup <: PropertyTGroup end
|
abstract type GAPGroup <: PropertyTGroup end
|
||||||
|
|
||||||
struct Symmetrize end
|
function PropertyTGroup(args)
|
||||||
struct Naive end
|
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("autfreegroup.jl")
|
||||||
include("speciallinear.jl")
|
include("speciallinear.jl")
|
||||||
|
|
||||||
Comm(x,y) = x*y*x^-1*y^-1
|
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("mappingclassgroup.jl")
|
||||||
include("higman.jl")
|
include("higman.jl")
|
||||||
|
Loading…
Reference in New Issue
Block a user