2022-11-07 16:21:58 +01:00
|
|
|
|
import SymbolicWedderburn.action
|
|
|
|
|
|
|
|
|
|
include("alphabet_permutation.jl")
|
|
|
|
|
|
|
|
|
|
include("sln_conjugation.jl")
|
2022-11-14 19:50:27 +01:00
|
|
|
|
include("spn_conjugation.jl")
|
2022-11-07 16:21:58 +01:00
|
|
|
|
include("autfn_conjugation.jl")
|
|
|
|
|
|
|
|
|
|
function SymbolicWedderburn.action(
|
|
|
|
|
act::SymbolicWedderburn.ByPermutations,
|
|
|
|
|
g::Groups.GroupElement,
|
2023-03-19 20:33:28 +01:00
|
|
|
|
α::StarAlgebras.AlgebraElement,
|
2022-11-07 16:21:58 +01:00
|
|
|
|
)
|
|
|
|
|
res = StarAlgebras.zero!(similar(α))
|
|
|
|
|
B = basis(parent(α))
|
|
|
|
|
for (idx, val) in StarAlgebras._nzpairs(StarAlgebras.coeffs(α))
|
|
|
|
|
a = B[idx]
|
|
|
|
|
a_g = SymbolicWedderburn.action(act, g, a)
|
|
|
|
|
res[a_g] += val
|
|
|
|
|
end
|
|
|
|
|
return res
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function Base.:^(
|
|
|
|
|
w::W,
|
|
|
|
|
p::PermutationGroups.AbstractPerm,
|
|
|
|
|
) where {W<:Groups.AbstractWord}
|
|
|
|
|
return W([l^p for l in w])
|
|
|
|
|
end
|