no more @showprogress
This commit is contained in:
parent
04b7622840
commit
acae7322aa
@ -10,37 +10,10 @@ using PropertyT
|
|||||||
import Nemo.elements
|
import Nemo.elements
|
||||||
|
|
||||||
using JLD
|
using JLD
|
||||||
using ProgressMeter
|
|
||||||
|
|
||||||
import Base.convert
|
import Base.convert
|
||||||
convert(::Type{Int}, x::Nemo.fmpz) = x.d
|
convert(::Type{Int}, x::Nemo.fmpz) = x.d
|
||||||
|
|
||||||
function products{T<:GroupElem}(X::AbstractVector{T}, Y::AbstractVector{T})
|
|
||||||
result = Vector{T}()
|
|
||||||
seen = Set{T}()
|
|
||||||
@showprogress for x in X
|
|
||||||
for y in Y
|
|
||||||
z = x*y
|
|
||||||
if !in(z, seen)
|
|
||||||
push!(seen, z)
|
|
||||||
push!(result, z)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return result
|
|
||||||
end
|
|
||||||
|
|
||||||
function generate_balls{T<:GroupElem}(S::Vector{T}, Id::T; radius=2)
|
|
||||||
sizes = Vector{Int}()
|
|
||||||
S = unshift!(S, Id)
|
|
||||||
B = [Id]
|
|
||||||
for i in 1:radius
|
|
||||||
B = products(B, S);
|
|
||||||
push!(sizes, length(B))
|
|
||||||
end
|
|
||||||
return B, sizes
|
|
||||||
end
|
|
||||||
|
|
||||||
function elements(F::Nemo.FqNmodFiniteField)
|
function elements(F::Nemo.FqNmodFiniteField)
|
||||||
deg = Int(degree(F))
|
deg = Int(degree(F))
|
||||||
char = Int(characteristic(F))
|
char = Int(characteristic(F))
|
||||||
@ -77,7 +50,7 @@ function orbit_decomposition(G::Nemo.Group, E::Vector, rdict=GroupRings.reverse_
|
|||||||
tovisit = trues(E);
|
tovisit = trues(E);
|
||||||
orbits = Vector{Set{Int}}()
|
orbits = Vector{Set{Int}}()
|
||||||
|
|
||||||
@showprogress "Orbit decomposition... " for i in 1:endof(E)
|
for i in 1:endof(E)
|
||||||
if tovisit[i]
|
if tovisit[i]
|
||||||
orbit = Set{Int}()
|
orbit = Set{Int}()
|
||||||
a = E[i]
|
a = E[i]
|
||||||
@ -101,11 +74,6 @@ function matrix_repr(g::WreathProductElem, E, E_dict)
|
|||||||
return rep_matrix
|
return rep_matrix
|
||||||
end
|
end
|
||||||
|
|
||||||
function action_mreps(G::Nemo.Group, E, E_dict)
|
|
||||||
result = @showprogress [matrix_repr(g, E, E_dict) for g in elements(G)]
|
|
||||||
return result
|
|
||||||
end
|
|
||||||
|
|
||||||
function chars(G::PermutationGroup)
|
function chars(G::PermutationGroup)
|
||||||
permtype_unsorted(σ::Nemo.perm) = [length(c) for c in cycles(σ)]
|
permtype_unsorted(σ::Nemo.perm) = [length(c) for c in cycles(σ)]
|
||||||
permtype(σ::Nemo.perm) = sort(permtype_unsorted(σ))
|
permtype(σ::Nemo.perm) = sort(permtype_unsorted(σ))
|
||||||
@ -243,7 +211,7 @@ end
|
|||||||
|
|
||||||
function Uπ_matrices(P_matrices; orth=orthSVD)
|
function Uπ_matrices(P_matrices; orth=orthSVD)
|
||||||
U_p_matrices = Vector{Array{Float64,2}}()
|
U_p_matrices = Vector{Array{Float64,2}}()
|
||||||
@showprogress "Computing Uπ mats..." for (i,p_mat) in enumerate(P_matrices)
|
for (i,p_mat) in enumerate(P_matrices)
|
||||||
U_p = orth(p_mat)
|
U_p = orth(p_mat)
|
||||||
push!(U_p_matrices, U_p)
|
push!(U_p_matrices, U_p)
|
||||||
end
|
end
|
||||||
@ -254,7 +222,7 @@ function compute_orbit_data{T<:GroupElem}(logger, name::String, G::Group, S::Vec
|
|||||||
isdir(name) || mkdir(name)
|
isdir(name) || mkdir(name)
|
||||||
|
|
||||||
info(logger, "Generating ball of radius 4")
|
info(logger, "Generating ball of radius 4")
|
||||||
@time E4, sizes = generate_balls(S, G(), radius=2*radius);
|
@time E4, sizes = Groups.generate_balls(S, G(), radius=2*radius);
|
||||||
info(logger, "Reverse dict")
|
info(logger, "Reverse dict")
|
||||||
@time E_dict = GroupRings.reverse_dict(E4)
|
@time E_dict = GroupRings.reverse_dict(E4)
|
||||||
|
|
||||||
@ -277,12 +245,12 @@ function compute_orbit_data{T<:GroupElem}(logger, name::String, G::Group, S::Vec
|
|||||||
|
|
||||||
info(logger, "Action matrices")
|
info(logger, "Action matrices")
|
||||||
E2 = E4[1:sizes[radius]]
|
E2 = E4[1:sizes[radius]]
|
||||||
@time BNactionE_mreps = action_mreps(BN, E2, E_dict)
|
@time BNactionE_mreps = [matrix_repr(g, E2, E_dict) for g in elements(BN)]
|
||||||
|
|
||||||
info(logger, "Projections")
|
info(logger, "Projections")
|
||||||
@time BN_mps = rankOne_projections(BN);
|
@time BN_mps = rankOne_projections(BN);
|
||||||
|
|
||||||
@time π_E_projections = @showprogress [Cstar_repr(p, BNactionE_mreps) for p in BN_mps]
|
@time π_E_projections = [Cstar_repr(p, BNactionE_mreps) for p in BN_mps]
|
||||||
|
|
||||||
info(logger, "Uπs...")
|
info(logger, "Uπs...")
|
||||||
@time Uπs = Uπ_matrices(π_E_projections);
|
@time Uπs = Uπ_matrices(π_E_projections);
|
||||||
|
Loading…
Reference in New Issue
Block a user