2019-01-14 17:44:35 +01:00
|
|
|
using AbstractAlgebra, Nemo, Groups, SCS
|
2019-01-28 18:41:16 +01:00
|
|
|
using SparseArrays
|
2019-01-18 15:57:21 +01:00
|
|
|
using JLD
|
2019-01-14 17:44:35 +01:00
|
|
|
using PropertyT
|
2019-01-18 15:57:21 +01:00
|
|
|
using Test
|
2019-02-21 16:31:38 +01:00
|
|
|
using JuMP
|
2019-01-14 17:44:35 +01:00
|
|
|
|
|
|
|
indexing(n) = [(i,j) for i in 1:n for j in (i+1):n]
|
|
|
|
function Groups.gens(M::MatSpace)
|
2019-02-21 16:31:38 +01:00
|
|
|
@assert ncols(M) == nrows(M)
|
|
|
|
N = ncols(M)
|
2019-01-14 17:44:35 +01:00
|
|
|
E(i,j) = begin g = M(1); g[i,j] = 1; g end
|
|
|
|
S = [E(i,j) for (i,j) in indexing(N)]
|
|
|
|
S = [S; transpose.(S)]
|
|
|
|
return S
|
|
|
|
end
|
|
|
|
|
2019-04-16 17:05:34 +02:00
|
|
|
solver(iters; accel=1) =
|
|
|
|
with_optimizer(SCS.Optimizer,
|
2019-02-21 16:31:38 +01:00
|
|
|
linear_solver=SCS.Direct, max_iters=iters,
|
|
|
|
acceleration_lookback=accel, eps=1e-10, warm_start=true)
|
2019-04-16 17:05:34 +02:00
|
|
|
|
2019-02-21 16:31:38 +01:00
|
|
|
include("1703.09680.jl")
|
|
|
|
include("1712.07167.jl")
|
2019-04-16 17:05:34 +02:00
|
|
|
include("SOS_correctness.jl")
|