diff --git a/src/OrbitDecomposition.jl b/src/OrbitDecomposition.jl index 17c1c0e..ce582cf 100644 --- a/src/OrbitDecomposition.jl +++ b/src/OrbitDecomposition.jl @@ -195,6 +195,7 @@ function compute_orbit_data{T<:GroupElem}(logger, name::String, G::Nemo.Group, S info(logger, "Decomposing E into orbits of $(autS)") @logtime logger orbs = orbit_decomposition(autS, E_2R, E_rdict) @assert sum(length(o) for o in orbs) == length(E_2R) + info(logger, "E consists of $(length(orbs)) orbits!") save(joinpath(name, "orbits.jld"), "orbits", orbs) info(logger, "Action matrices") diff --git a/src/Projections.jl b/src/Projections.jl index 1a07cab..8990ae6 100644 --- a/src/Projections.jl +++ b/src/Projections.jl @@ -90,19 +90,19 @@ function idempotents(RG::GroupRing{PermGroup}, T::Type=Rational{Int}) return unique(idems) end -function rankOne_projection{S}(chi::PropertyT.PermCharacter, idems::Vector{GroupRingElem{S}}) +function rankOne_projection{T}(chi::PropertyT.PermCharacter, idems::Vector{GroupRingElem{T}}) RG = parent(first(idems)) - ids = [[one(RG, S)]; idems] + ids = [[one(RG, T)]; idems] for (i,j,k) in Base.product(ids, ids, ids) - if chi(i) == zero(S) || chi(j) == zero(S) || chi(k) == zero(S) + if chi(i) == zero(T) || chi(j) == zero(T) || chi(k) == zero(T) continue end elt = i*j*k elt^2 == elt || continue - if chi(elt) == one(S) + if chi(elt) == one(T) return elt # return (i,j,k) end @@ -134,7 +134,6 @@ function rankOne_projections(G::PermutationGroup, T::Type=Rational{Int}) return min_projs end - function rankOne_projections(BN::WreathProduct, T::Type=Rational{Int}) N = BN.P.n