mirror of
https://github.com/kalmarek/PropertyT.jl.git
synced 2024-11-26 09:00:28 +01:00
add: tests for oSL(4,Z); global @info
This commit is contained in:
parent
9def006ef3
commit
581097b7d3
@ -204,6 +204,12 @@ end
|
|||||||
function check_property_T(sett::Settings)
|
function check_property_T(sett::Settings)
|
||||||
fp = PropertyT.fullpath(sett)
|
fp = PropertyT.fullpath(sett)
|
||||||
isdir(fp) || mkpath(fp)
|
isdir(fp) || mkpath(fp)
|
||||||
|
@info("\#"^76)
|
||||||
|
@info("Running tests for $(sett.name):"
|
||||||
|
@info("Upper bound for λ: $(sett.upper_bound), on radius $(sett.radius).")
|
||||||
|
@info("Solver is $(sett.solver)")
|
||||||
|
@info("Warmstart: $(sett.warmstart)")
|
||||||
|
@info("\#"^76)
|
||||||
|
|
||||||
if isfile(filename(sett,:Δ))
|
if isfile(filename(sett,:Δ))
|
||||||
# cached
|
# cached
|
||||||
|
@ -10,7 +10,6 @@ function Groups.gens(M::MatSpace)
|
|||||||
E(i,j) = begin g = M(1); g[i,j] = 1; g end
|
E(i,j) = begin g = M(1); g[i,j] = 1; g end
|
||||||
S = [E(i,j) for (i,j) in indexing(N)]
|
S = [E(i,j) for (i,j) in indexing(N)]
|
||||||
S = [S; transpose.(S)]
|
S = [S; transpose.(S)]
|
||||||
S = [S; inv.(S)]
|
|
||||||
return S
|
return S
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -20,34 +19,36 @@ solver(iters; accel=1) =
|
|||||||
@testset "1703.09680 Examples" begin
|
@testset "1703.09680 Examples" begin
|
||||||
|
|
||||||
@testset "SL(2,Z)" begin
|
@testset "SL(2,Z)" begin
|
||||||
rm("SL(2,Z)", recursive=true, force=true)
|
|
||||||
N = 2
|
N = 2
|
||||||
G = MatrixSpace(Nemo.ZZ, N,N)
|
G = MatrixSpace(Nemo.ZZ, N,N)
|
||||||
S = Groups.gens(G)
|
S = Groups.gens(G)
|
||||||
|
S = [S; inv.(S)]
|
||||||
|
|
||||||
|
rm("SL($N,Z)", recursive=true, force=true)
|
||||||
sett = PropertyT.Settings("SL($N,Z)", G, S, solver(20000, accel=20); upper_bound=0.1)
|
sett = PropertyT.Settings("SL($N,Z)", G, S, solver(20000, accel=20); upper_bound=0.1)
|
||||||
|
|
||||||
@test PropertyT.check_property_T(sett) == false
|
@test PropertyT.check_property_T(sett) == false
|
||||||
end
|
end
|
||||||
|
|
||||||
@testset "SL(3,Z)" begin
|
@testset "SL(3,Z)" begin
|
||||||
rm("SL(3,Z)", recursive=true, force=true)
|
|
||||||
N = 3
|
N = 3
|
||||||
G = MatrixSpace(Nemo.ZZ, N,N)
|
G = MatrixSpace(Nemo.ZZ, N,N)
|
||||||
S = Groups.gens(G)
|
S = Groups.gens(G)
|
||||||
|
S = [S; inv.(S)]
|
||||||
|
|
||||||
|
rm("SL($N,Z)", recursive=true, force=true)
|
||||||
sett = PropertyT.Settings("SL($N,Z)", G, S, solver(1000, accel=20); upper_bound=0.1)
|
sett = PropertyT.Settings("SL($N,Z)", G, S, solver(1000, accel=20); upper_bound=0.1)
|
||||||
|
|
||||||
@test PropertyT.check_property_T(sett) == true
|
@test PropertyT.check_property_T(sett) == true
|
||||||
end
|
end
|
||||||
|
|
||||||
@testset "SAut(F₂)" begin
|
@testset "SAut(F₂)" begin
|
||||||
rm("SAut(F2)", recursive=true, force=true)
|
|
||||||
N = 2
|
N = 2
|
||||||
G = SAut(FreeGroup(N))
|
G = SAut(FreeGroup(N))
|
||||||
S = Groups.gens(G)
|
S = Groups.gens(G)
|
||||||
S = [S; inv.(S)]
|
S = [S; inv.(S)]
|
||||||
|
|
||||||
|
rm("SAut(F$N)", recursive=true, force=true)
|
||||||
sett = PropertyT.Settings("SAut(F$N)", G, S, solver(20000);
|
sett = PropertyT.Settings("SAut(F$N)", G, S, solver(20000);
|
||||||
upper_bound=0.15, warmstart=false)
|
upper_bound=0.15, warmstart=false)
|
||||||
|
|
||||||
@ -55,15 +56,16 @@ solver(iters; accel=1) =
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@testset "17.12.07167 Examples" begin
|
@testset "1712.07167 Examples" begin
|
||||||
|
|
||||||
@testset "oSL(3,Z)" begin
|
@testset "oSL(3,Z)" begin
|
||||||
rm("oSL(3,Z)", recursive=true, force=true)
|
|
||||||
N = 3
|
N = 3
|
||||||
G = MatrixSpace(Nemo.ZZ, N,N)
|
G = MatrixSpace(Nemo.ZZ, N,N)
|
||||||
S = Groups.gens(G)
|
S = Groups.gens(G)
|
||||||
|
S = [S; inv.(S)]
|
||||||
autS = WreathProduct(PermGroup(2), PermGroup(N))
|
autS = WreathProduct(PermGroup(2), PermGroup(N))
|
||||||
|
|
||||||
|
rm("oSL($N,Z)", recursive=true, force=true)
|
||||||
sett = PropertyT.Settings("SL($N,Z)", G, S, autS, solver(2000, accel=20);
|
sett = PropertyT.Settings("SL($N,Z)", G, S, autS, solver(2000, accel=20);
|
||||||
upper_bound=0.27, warmstart=false)
|
upper_bound=0.27, warmstart=false)
|
||||||
|
|
||||||
@ -77,14 +79,36 @@ end
|
|||||||
@test PropertyT.check_property_T(sett) == true
|
@test PropertyT.check_property_T(sett) == true
|
||||||
end
|
end
|
||||||
|
|
||||||
@testset "SAut(F₂)" begin
|
@testset "oSL(4,Z)" begin
|
||||||
rm("oSAut(F3)", recursive=true, force=true)
|
N = 4
|
||||||
|
G = MatrixSpace(Nemo.ZZ, N,N)
|
||||||
|
S = Groups.gens(G)
|
||||||
|
S = [S; inv.(S)]
|
||||||
|
autS = WreathProduct(PermGroup(2), PermGroup(N))
|
||||||
|
|
||||||
|
rm("oSL($N,Z)", recursive=true, force=true)
|
||||||
|
sett = PropertyT.Settings("SL($N,Z)", G, S, autS, solver(5000, accel=10);
|
||||||
|
upper_bound=1.3, warmstart=false)
|
||||||
|
|
||||||
|
@test PropertyT.check_property_T(sett) == false
|
||||||
|
#second run just checks the obtained solution
|
||||||
|
@test PropertyT.check_property_T(sett) == false
|
||||||
|
|
||||||
|
sett = PropertyT.Settings("SL($N,Z)", G, S, autS, solver(20000, accel=10);
|
||||||
|
upper_bound=1.3, warmstart=true)
|
||||||
|
|
||||||
|
@test PropertyT.check_property_T(sett) == true
|
||||||
|
end
|
||||||
|
|
||||||
|
@testset "SAut(F₃)" begin
|
||||||
N = 3
|
N = 3
|
||||||
G = SAut(FreeGroup(N))
|
G = SAut(FreeGroup(N))
|
||||||
S = Groups.gens(G)
|
S = Groups.gens(G)
|
||||||
S = [S; inv.(S)]
|
S = [S; inv.(S)]
|
||||||
autS = WreathProduct(PermGroup(2), PermGroup(N))
|
autS = WreathProduct(PermGroup(2), PermGroup(N))
|
||||||
|
|
||||||
|
rm("oSAut(F$N)", recursive=true, force=true)
|
||||||
|
|
||||||
sett = PropertyT.Settings("SAut(F$N)", G, S, autS, solver(10000);
|
sett = PropertyT.Settings("SAut(F$N)", G, S, autS, solver(10000);
|
||||||
upper_bound=0.15, warmstart=false)
|
upper_bound=0.15, warmstart=false)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user