mirror of
https://github.com/kalmarek/PropertyT.jl.git
synced 2024-11-19 07:20:28 +01:00
rankOne_projections take a GroupRing now
This commit is contained in:
parent
0c2f5b1a9a
commit
677ae32ee2
@ -162,7 +162,7 @@ function compute_orbit_data{T<:GroupElem}(logger, name::String, S::Vector{T}, au
|
|||||||
reps = matrix_reps(reps)
|
reps = matrix_reps(reps)
|
||||||
|
|
||||||
info(logger, "Projections")
|
info(logger, "Projections")
|
||||||
@logtime logger autS_mps = Projections.rankOne_projections(autS);
|
@logtime logger autS_mps = Projections.rankOne_projections(GroupRing(autS));
|
||||||
|
|
||||||
@logtime logger π_E_projections = [Cstar_repr(p, reps) for p in autS_mps]
|
@logtime logger π_E_projections = [Cstar_repr(p, reps) for p in autS_mps]
|
||||||
|
|
||||||
|
@ -142,11 +142,9 @@ function rankOne_projection(chi::PermCharacter, idems::Vector{T}) where {T<:Grou
|
|||||||
throw("Couldn't find rank-one projection for $chi")
|
throw("Couldn't find rank-one projection for $chi")
|
||||||
end
|
end
|
||||||
|
|
||||||
function rankOne_projections(G::Generic.PermGroup, T::Type=Rational{Int})
|
function rankOne_projections(RG::GroupRing{G}, T::Type=Rational{Int}) where G<:Generic.PermGroup
|
||||||
if G.n == 1
|
if RG.group.n == 1
|
||||||
return [one(GroupRing(G), T)]
|
return [GroupRingElem([one(T)], RG)]
|
||||||
else
|
|
||||||
RG = GroupRing(G, fastm=false)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
RGidems = idempotents(RG, T)
|
RGidems = idempotents(RG, T)
|
||||||
@ -165,14 +163,14 @@ function orbit_selector(n::Integer, k::Integer,
|
|||||||
return Projections.DirectProdCharacter(ntuple(i -> (i <= k ? chi : psi), n))
|
return Projections.DirectProdCharacter(ntuple(i -> (i <= k ? chi : psi), n))
|
||||||
end
|
end
|
||||||
|
|
||||||
function rankOne_projections(Bn::WreathProduct, T::Type=Rational{Int})
|
function rankOne_projections(RBn::GroupRing{G}, T::Type=Rational{Int}) where {G<:WreathProduct}
|
||||||
|
|
||||||
|
Bn = RBn.group
|
||||||
N = Bn.P.n
|
N = Bn.P.n
|
||||||
# projections as elements of the group rings RSₙ
|
# projections as elements of the group rings RSₙ
|
||||||
Sn_rankOnePr = [rankOne_projections(PermutationGroup(Int8(i))) for i in 1:N]
|
Sn_rankOnePr = [rankOne_projections(GroupRing(PermutationGroup(i))) for i in typeof(N)(1):N]
|
||||||
|
|
||||||
# embedding into group ring of BN
|
# embedding into group ring of BN
|
||||||
RBn = GroupRing(Bn)
|
|
||||||
RN = GroupRing(Bn.N)
|
RN = GroupRing(Bn.N)
|
||||||
|
|
||||||
sign, id = collect(characters(Bn.N.group))
|
sign, id = collect(characters(Bn.N.group))
|
||||||
|
Loading…
Reference in New Issue
Block a user