replace Standard -→ Naive (methods of build problem)

This commit is contained in:
kalmarek 2018-08-20 03:22:16 +02:00
parent 707efaca3a
commit 0cae4882f1
2 changed files with 13 additions and 19 deletions

View File

@ -4,7 +4,7 @@ using AbstractAlgebra
using Nemo using Nemo
using Groups using Groups
export PropertyTGroup, SymmetrizedGroup, GAPGroup export PropertyTGroup, SymmetrizedGroup, GAPGroup, Naive, Symmetrize,
abstract type PropertyTGroup end abstract type PropertyTGroup end
@ -12,6 +12,9 @@ abstract type SymmetrizedGroup <: PropertyTGroup end
abstract type GAPGroup <: PropertyTGroup end abstract type GAPGroup <: PropertyTGroup end
struct Symmetrize end
struct Naive end
include("autfreegroup.jl") include("autfreegroup.jl")
include("speciallinear.jl") include("speciallinear.jl")

27
main.jl
View File

@ -13,9 +13,6 @@ using SCS.SCSSolver
include("groups/Allgroups.jl") include("groups/Allgroups.jl")
using PropertyTGroups using PropertyTGroups
struct Symmetrize end
struct Standard end
function summarize(groupdir, iterations, tol, upper_bound, radius, G, S) function summarize(groupdir, iterations, tol, upper_bound, radius, G, S)
info("Group: $groupdir") info("Group: $groupdir")
info("Iterations: $iterations") info("Iterations: $iterations")
@ -73,6 +70,11 @@ function main(Gr::PropertyTGroup)
return main(Symmetrize, Gr, dir=groupdir) return main(Symmetrize, Gr, dir=groupdir)
end end
end end
function main(::Type{Symmetrize}, Gr::SymmetrizedGroup; dir=tempname())
radius, tol, iterations, upper_bound, warm, N = params(Gr)
G = PropertyTGroups.group(Gr) G = PropertyTGroups.group(Gr)
S = PropertyTGroups.generatingset(Gr) S = PropertyTGroups.generatingset(Gr)
@ -88,14 +90,10 @@ end
return PropertyT.check_property_T(sett) return PropertyT.check_property_T(sett)
end end
function main(::Type{Standard}, Gr::SymmetrizedGroup) function main(::Type{Naive}, Gr::SymmetrizedGroup; dir="")
radius, tol, iterations, upper_bound, warm, _ = params(Gr) radius, tol, iterations, upper_bound, warm, _ = params(Gr)
groupdir = "$(PropertyTGroups.name(Gr))_r$radius"
isdir(groupdir) || mkdir(groupdir)
logger = PropertyT.setup_logging(joinpath(groupdir, "$(upper_bound)"), :fulllog)
G = PropertyTGroups.group(Gr) G = PropertyTGroups.group(Gr)
S = PropertyTGroups.generatingset(Gr) S = PropertyTGroups.generatingset(Gr)
@ -114,24 +112,17 @@ function main(::Type{Standard}, Gr::SymmetrizedGroup)
end end
function main(::Type{Naive}, Gr::GAPGroup; dir="")
function main(Gr::GAPGroup)
radius, tol, iterations, upper_bound, warm = params(Gr) radius, tol, iterations, upper_bound, warm = params(Gr)
groupdir = "$(PropertyTGroups.name(Gr))_r$radius"
isdir(groupdir) || mkdir(groupdir)
logger = PropertyT.setup_logging(joinpath(groupdir, "$(upper_bound)"), :fulllog)
G = PropertyTGroups.group(Gr) G = PropertyTGroups.group(Gr)
S = PropertyTGroups.generatingset(Gr) S = PropertyTGroups.generatingset(Gr)
relations = [k*inv(v) for (k,v) in G.rels] relations = [k*inv(v) for (k,v) in G.rels]
prepare_pm_delta(groupdir, GAP_groupcode(S, relations), radius) prepare_pm_delta(dir, GAP_groupcode(S, relations), radius)
S = unique([S; inv.(S)]) summarize(dir, iterations, tol, upper_bound, radius, G, S)
summarize(logger, groupdir, iterations, tol, upper_bound, radius, G, S)
solver = scs_solver(tol, iterations) solver = scs_solver(tol, iterations)