2018-09-09 13:05:49 +02:00
|
|
|
struct SpecialAutomorphismGroup{N} <: SymmetrizedGroup
|
2018-08-08 00:21:13 +02:00
|
|
|
group::AutGroup
|
2018-09-16 17:53:10 +02:00
|
|
|
end
|
2018-08-08 00:21:13 +02:00
|
|
|
|
2018-09-16 17:53:10 +02:00
|
|
|
function SpecialAutomorphismGroup(args::Dict)
|
|
|
|
N = args["SAut"]
|
|
|
|
return SpecialAutomorphismGroup{N}(AutGroup(FreeGroup(N), special=true))
|
2018-08-08 00:21:13 +02:00
|
|
|
end
|
2017-11-06 01:58:16 +01:00
|
|
|
|
2018-09-09 13:05:49 +02:00
|
|
|
name(G::SpecialAutomorphismGroup{N}) where N = "SAutF$(N)"
|
2017-11-06 01:58:16 +01:00
|
|
|
|
2018-08-08 00:21:13 +02:00
|
|
|
group(G::SpecialAutomorphismGroup) = G.group
|
2017-11-06 01:58:16 +01:00
|
|
|
|
2018-08-08 00:21:13 +02:00
|
|
|
function generatingset(G::SpecialAutomorphismGroup)
|
|
|
|
S = gens(group(G));
|
|
|
|
return unique([S; inv.(S)])
|
2017-11-06 01:58:16 +01:00
|
|
|
end
|
|
|
|
|
2018-09-09 13:05:49 +02:00
|
|
|
function autS(G::SpecialAutomorphismGroup{N}) where N
|
|
|
|
return WreathProduct(PermutationGroup(2), PermutationGroup(N))
|
2017-11-06 01:58:16 +01:00
|
|
|
end
|