mirror of
https://github.com/kalmarek/PropertyT.jl.git
synced 2024-11-26 09:00:28 +01:00
update to parametrised perms in Nemo
This commit is contained in:
parent
3161779c1c
commit
94fa72ae80
@ -100,7 +100,7 @@ function matrix_repr(p::perm)
|
||||
return sparse(1:N, p.d, [1.0 for _ in 1:N])
|
||||
end
|
||||
|
||||
function matrix_reps{T<:GroupElem}(preps::Dict{T,perm})
|
||||
function matrix_reps(preps::Dict{T,perm{I}}) where {T<:GroupElem, I<:Integer}
|
||||
kk = collect(keys(preps))
|
||||
mreps = Vector{SparseMatrixCSC{Float64, Int}}(length(kk))
|
||||
Threads.@threads for i in 1:length(kk)
|
||||
|
@ -67,7 +67,7 @@ function central_projection(RG::GroupRing, chi::AbstractCharacter, T::Type=Ratio
|
||||
return result
|
||||
end
|
||||
|
||||
function idempotents(RG::GroupRing{Generic.PermGroup}, T::Type=Rational{Int})
|
||||
function idempotents(RG::GroupRing{Generic.PermGroup{S}}, T::Type=Rational{S}) where S<:Integer
|
||||
if RG.group.n == 1
|
||||
return GroupRingElem{T}[one(RG,T)]
|
||||
elseif RG.group.n == 2
|
||||
@ -76,7 +76,7 @@ function idempotents(RG::GroupRing{Generic.PermGroup}, T::Type=Rational{Int})
|
||||
return GroupRingElem{T}[1//2*(Id + transp), 1//2*(Id - transp)]
|
||||
|
||||
end
|
||||
projs = Vector{Vector{Generic.perm}}()
|
||||
projs = Vector{Vector{Generic.perm{S}}}()
|
||||
for l in 2:RG.group.n
|
||||
u = RG.group([circshift([i for i in 1:l], -1); [i for i in l+1:RG.group.n]])
|
||||
i = 0
|
||||
@ -129,14 +129,15 @@ function rankOne_projections(G::Generic.PermGroup, T::Type=Rational{Int})
|
||||
end
|
||||
|
||||
RGidems = idempotents(RG, T)
|
||||
l = length(Partitions(G.n))
|
||||
l = length(AllParts(G.n))
|
||||
|
||||
parts = collect(Partitions(G.n))
|
||||
chars = [PropertyT.PermCharacter(p) for p in parts]
|
||||
chars = [PropertyT.PermCharacter(p) for p in AllParts(G.n)]
|
||||
min_projs = Vector{eltype(RGidems)}(l)
|
||||
|
||||
for i in 1:l
|
||||
chi = PropertyT.PermCharacter(parts[i])
|
||||
i = 0
|
||||
for part in AllParts(G.n)
|
||||
i += 1
|
||||
chi = PropertyT.PermCharacter(part)
|
||||
min_projs[i] = rankOne_projection(chi,RGidems)*central_projection(RG,chi)
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user