From c8f58e1c93b0a1df58f49c60d23f9600c7df4a47 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Wed, 5 Sep 2018 17:51:43 +0200 Subject: [PATCH] one global run file (for all groups) --- run.jl | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 run.jl diff --git a/run.jl b/run.jl new file mode 100644 index 0000000..38d3b6b --- /dev/null +++ b/run.jl @@ -0,0 +1,87 @@ +using ArgParse + +############################################################################### +# +# Parsing command line +# +############################################################################### + +function parse_commandline() + settings = ArgParseSettings() + + @add_arg_table settings begin + "--tol" + help = "set numerical tolerance for the SDP solver" + arg_type = Float64 + default = 1e-6 + "--iterations" + help = "set maximal number of iterations for the SDP solver" + arg_type = Int + default = 50000 + "--upper-bound" + help = "Set an upper bound for the spectral gap" + arg_type = Float64 + default = Inf + "--cpus" + help = "Set number of cpus used by solver" + arg_type = Int + required = false + "--radius" + help = "Radius of ball B_r(e,S) to find solution over" + arg_type = Int + default = 2 + "--warmstart" + help = "Use warmstart.jld as the initial guess for SCS" + action = :store_true + "--nosymmetry" + help = "Don't use symmetries of the Laplacian" + action = :store_true + + "--SL " + help = "GROUP: the group generated by elementary matrices of size n by n" + arg_type = Int + required = false + "-p" + help = "Matrices over field of p-elements (p=0 => over ZZ) [only with --SL]" + arg_type = Int + default = 0 + "-X" + help = "Consider EL(N, ZZ⟨X⟩) [only with --SL]" + action = :store_true + + "--SAut" + help = "GROUP: the automorphisms group of the free group on N generators" + arg_type = Int + required = false + + "--MCG" + help = "GROUP: mapping class group of surface of genus N" + arg_type = Int + required = false + + "--Higman" + help = "GROUP: the Higman Group" + action = :store_true + + "--Caprace" + help = "GROUP: for Caprace Group" + action = :store_true + end + return parse_args(settings) +end + +const PARSEDARGS = parse_commandline() + +set_parallel_mthread(PARSEDARGS, workers=false) + +include("CPUselect.jl") +include("logging.jl") +include("main.jl") + +const G = PropertyTGroups.PropertyTGroup(PARSEDARGS) + +fullpath = joinpath(name(G), string(G.args["upper-bound"])) +isdir(fullpath) || mkpath(fullpath) +logger=setup_logging(PropertyT.filename(fullpath, :fulllog), :fulllog) + +main(G)