mirror of
https://github.com/kalmarek/PropertyT.jl.git
synced 2024-11-23 08:15:29 +01:00
account for changes in order of characters
This commit is contained in:
parent
4e48917a38
commit
6ecd63197b
@ -29,26 +29,27 @@ end
|
|||||||
|
|
||||||
function rankOne_projections(G::PermutationGroup, T::Type=Rational{Int})
|
function rankOne_projections(G::PermutationGroup, T::Type=Rational{Int})
|
||||||
RG = GroupRing(G)
|
RG = GroupRing(G)
|
||||||
projections = [central_projection(RG, χ, T) for χ in chars(G)]
|
cprojs = [central_projection(RG, χ, T) for χ in (character(λ) for λ in IntPartitions(G.n))]
|
||||||
|
|
||||||
if G.n == 1 || G.n == 2
|
if G.n == 1 || G.n == 2
|
||||||
return projections
|
return cprojs
|
||||||
elseif G.n == 3
|
elseif G.n == 3
|
||||||
|
p = 1//2*(one(RG, T) - RG(G([2,1,3]), T))
|
||||||
rankone_projs = [
|
rankone_projs = [
|
||||||
projections[1],
|
cprojs[1], # alternating
|
||||||
projections[2],
|
p*cprojs[2], # regular
|
||||||
1//2*(one(RG, T) - RG(G([2,1,3]), T))*projections[3]
|
cprojs[3] # trivial
|
||||||
]
|
]
|
||||||
return rankone_projs
|
|
||||||
elseif G.n == 4
|
elseif G.n == 4
|
||||||
|
p⁺ = 1//2*(one(RG, T) + RG(G([2,1,3,4]), T))
|
||||||
|
p⁻ = 1//2*(one(RG, T) - RG(G([2,1,3,4]), T))
|
||||||
rankone_projs = [
|
rankone_projs = [
|
||||||
projections[1],
|
cprojs[1], # alternating
|
||||||
projections[2],
|
p⁺*cprojs[2], # alt_regular
|
||||||
1//2*(one(RG, T) - RG(G([2,1,3,4]), T))*projections[3],
|
p⁻*cprojs[3], # regular
|
||||||
1//2*(one(RG, T) - RG(G([2,1,3,4]), T))*projections[4],
|
p⁻*cprojs[4], # via projection to S₃
|
||||||
1//2*(one(RG, T) + RG(G([2,1,3,4]), T))*projections[5]
|
cprojs[5] # trivial
|
||||||
]
|
]
|
||||||
return rankone_projs
|
|
||||||
elseif G.n == 5
|
elseif G.n == 5
|
||||||
p⁺ = 1//2*(one(RG, T) + RG(G([2,1,3,4,5]), T))
|
p⁺ = 1//2*(one(RG, T) + RG(G([2,1,3,4,5]), T))
|
||||||
p⁻ = 1//2*(one(RG, T) - RG(G([2,1,3,4,5]), T))
|
p⁻ = 1//2*(one(RG, T) - RG(G([2,1,3,4,5]), T))
|
||||||
@ -57,17 +58,18 @@ function rankOne_projections(G::PermutationGroup, T::Type=Rational{Int})
|
|||||||
q⁻ = 1//2*(one(RG, T) - RG(G([1,2,4,3,5]), T))
|
q⁻ = 1//2*(one(RG, T) - RG(G([1,2,4,3,5]), T))
|
||||||
|
|
||||||
rankone_projs = [
|
rankone_projs = [
|
||||||
projections[1],
|
cprojs[1], # alternating
|
||||||
projections[2],
|
p⁺*cprojs[2], # alt_regular
|
||||||
p⁻*projections[3],
|
p⁺*q⁺*cprojs[3], # ψ
|
||||||
p⁺*projections[4],
|
p⁻*q⁻*cprojs[4], # alt_ϱ
|
||||||
p⁺*q⁺*projections[5],
|
p⁻*cprojs[5], # regular
|
||||||
p⁻*q⁻*projections[6],
|
p⁺*q⁺*cprojs[6], # ϱ
|
||||||
p⁺*q⁺*projections[7]
|
cprojs[7] # trivial
|
||||||
]
|
]
|
||||||
else
|
else
|
||||||
throw("Rank-one projections for $G unknown!")
|
throw("Rank-one projections for $G unknown!")
|
||||||
end
|
end
|
||||||
|
return rankone_projs
|
||||||
end
|
end
|
||||||
|
|
||||||
function rankOne_projections(BN::WreathProduct, T::Type=Rational{Int})
|
function rankOne_projections(BN::WreathProduct, T::Type=Rational{Int})
|
||||||
|
Loading…
Reference in New Issue
Block a user