From b97a0e30dd3e65a300d534f6c3f430747e3c0cf0 Mon Sep 17 00:00:00 2001 From: kalmar Date: Fri, 4 Aug 2017 18:25:10 +0200 Subject: [PATCH] threaded matrix_reps --- src/OrbitDecomposition.jl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/OrbitDecomposition.jl b/src/OrbitDecomposition.jl index ba2608d..a0d2639 100644 --- a/src/OrbitDecomposition.jl +++ b/src/OrbitDecomposition.jl @@ -109,9 +109,16 @@ function matrix_reps{T<:GroupElem}(G::Group, S::Vector{T}, AutS::Group, radius:: Id = (isa(G, Nemo.Ring) ? one(G) : G()) E2, _ = Groups.generate_balls(S, Id, radius=radius) Edict = GroupRings.reverse_dict(E2) + elts = collect(elements(AutS)) + mreps = Vector{SparseMatrixCSC{Int, Int}}(length(elts)) - mreps = Dict(g=>matrix_repr(g, E2, Edict) for g in elements(AutS)) - return mreps + Threads.@threads for i in 1:length(elts) + mreps[i] = PropertyT.matrix_repr(elts[i], E2, Edict) + end + + mreps_dict = Dict(elts[i]=>mreps[i] for i in 1:length(elts)) + + return mreps_dict end function reconstruct_sol{T<:GroupElem, S<:AbstractArray}(mreps::Dict{T, S},