From b89598c67c156bbbe8e932cafe49e23ee2e8b3d2 Mon Sep 17 00:00:00 2001 From: kalmar Date: Thu, 27 Jul 2017 22:02:07 +0200 Subject: [PATCH] slight(?!) optimisation to Cstar_repr --- src/OrbitDecomposition.jl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/OrbitDecomposition.jl b/src/OrbitDecomposition.jl index 30b7ec3..fed0591 100644 --- a/src/OrbitDecomposition.jl +++ b/src/OrbitDecomposition.jl @@ -130,14 +130,16 @@ function reconstruct_sol{T<:GroupElem, S<:AbstractArray}(mreps::Dict{T, S}, return recP end -function Cstar_repr(x::GroupRingElem, mreps::Dict) - k = collect(keys(mreps))[1] - res = zeros(size(mreps[k])...) +function Cstar_repr{T}(x::GroupRingElem{T}, mreps::Dict) + res = zeros(size(mreps[first(keys(mreps))])...) - for g in parent(x).basis - res .+= x[g]*mreps[g] - end - return res + for g in parent(x).basis + if x[g] != zero(T) + res .+= x[g].*mreps[g] + end + end + + return res end function orthSVD(M::AbstractMatrix)