PropertyT.jl/src/actions/actions.jl

30 lines
724 B
Julia
Raw Normal View History

2022-11-07 16:21:58 +01:00
import SymbolicWedderburn.action
2022-11-07 17:01:06 +01:00
StarAlgebras.star(g::Groups.GroupElement) = inv(g)
2022-11-07 16:21:58 +01:00
include("alphabet_permutation.jl")
include("sln_conjugation.jl")
include("autfn_conjugation.jl")
function SymbolicWedderburn.action(
act::SymbolicWedderburn.ByPermutations,
g::Groups.GroupElement,
α::StarAlgebras.AlgebraElement
)
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