1
0
mirror of https://github.com/kalmarek/PropertyT.jl.git synced 2024-12-27 02:45:30 +01:00

instead of recomputing Delta, just pass it

This commit is contained in:
kalmarek 2018-08-20 03:51:51 +02:00
parent 86e0ed373d
commit 7f09e7c8b5

View File

@ -144,19 +144,17 @@ function check_property_T(name::String, S, solver, upper_bound, tol, radius, war
isapprox(eigvals(P), abs.(eigvals(P)), atol=tol) || isapprox(eigvals(P), abs.(eigvals(P)), atol=tol) ||
warn("The solution matrix doesn't seem to be positive definite!") warn("The solution matrix doesn't seem to be positive definite!")
return interpret_results(name, S, radius, λ, P) return interpret_results(name, Δ, radius,length(S), λ, P)
end end
function interpret_results(name, S, radius, λ, P) function interpret_results(name::String, Δ::GroupRingElem, radius::Integer, length_S::Integer, λ::AbstractFloat, P)
RG = GroupRing(parent(first(S)), load(filename(name, :pm), "pm"))
Δ = GroupRingElem(load(filename(name, ), "Δ")[:, 1], RG)
@time Q = real(sqrtm(Symmetric(P))) @time Q = real(sqrtm(Symmetric(P)))
sgap = distance_to_cone(Δ, λ, Q, wlen=2*radius) sgap = distance_to_cone(Δ, λ, Q, wlen=2*radius)
if sgap > 0 if sgap > 0
Kazhdan_κ = Kazhdan(sgap, length(S)) Kazhdan_κ = Kazhdan(sgap, length_S)
if Kazhdan_κ > 0 if Kazhdan_κ > 0
info("κ($name, S) ≥ $Kazhdan_κ: Group HAS property (T)!") info("κ($name, S) ≥ $Kazhdan_κ: Group HAS property (T)!")
return true return true