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-14 "--iterations" help = "set maximal number of iterations for the SDP solver" arg_type = Int default = 60000 "--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 (default: auto)" arg_type = Int required = false "-N" help = "Consider automorphisms of free group on N generators" arg_type = Int default = 2 "--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 end return parse_args(settings) end parsed_args = parse_commandline() include("CPUselect.jl") set_parallel_mthread(parsed_args, workers=true) include("SAutFNs.jl") include("Orbit.jl") main(SAutFNs, parsed_args)