1
0
mirror of https://github.com/kalmarek/PropertyT.jl.git synced 2024-11-19 07:20:28 +01:00

interpret_results for intervals

This commit is contained in:
kalmarek 2019-11-05 11:17:11 +01:00
parent f3ec2dd1b1
commit bfb08e69e4
No known key found for this signature in database
GPG Key ID: 8BF1A3855328FC15

View File

@ -224,7 +224,7 @@ function certify_SOS_decomposition(elt::GroupRingElem, orderunit::GroupRingElem,
"Interval aritmetic (certified) λ ∈"] "Interval aritmetic (certified) λ ∈"]
@info join(info_strs, "\n") certified_λ @info join(info_strs, "\n") certified_λ
return certified_λ.lo return certified_λ
end end
function spectral_gap(Δ::GroupRingElem, λ::Number, Q::AbstractMatrix; R::Int=2) function spectral_gap(Δ::GroupRingElem, λ::Number, Q::AbstractMatrix; R::Int=2)
@ -238,7 +238,8 @@ end
# #
############################################################################### ###############################################################################
Kazhdan(λ::Number, N::Integer) = sqrt(2*λ/N) Kazhdan_constant(λ::Number, N::Integer) = sqrt(2*λ/N)
Kazhdan_constant(λ::Interval, N::Integer) = IntervalArithmetic.inf(sqrt(2*λ/N))
function check_property_T(sett::Settings) function check_property_T(sett::Settings)
@info sett @info sett
@ -259,21 +260,24 @@ function Base.show(io::IO, sett::Settings)
print(io, join(info_strs, "\n")) print(io, join(info_strs, "\n"))
end end
function interpret_results(sett::Settings, sgap::Number) function interpret_results(name::String, sgap::Number, N::Integer)
if sgap > 0 if sgap > 0
Kazhdan_κ = Kazhdan(sgap, length(sett.S)) κ = Kazhdan_constant(sgap, N)
if Kazhdan_κ > 0 @info "κ($name, S) ≥ : Group HAS property (T)!"
@info "κ($(sett.name), S) ≥ $Kazhdan_κ: Group HAS property (T)!" return true
return true
end
end end
info_strs = ["The certified lower bound on the spectral gap is negative:", info_strs = [
"λ($(sett.name), S) ≥ 0.0 > $sgap", "The certified lower bound on the spectral gap is negative:",
"This tells us nothing about property (T)"] "λ($name, S) ≥ 0.0 > $sgap",
"This tells us nothing about property (T)",
]
@info join(info_strs, "\n") @info join(info_strs, "\n")
return false return false
end end
interpret_results(sett::Settings, sgap::Number) =
interpret_results(sett.name, sgap, length(sett.S))
function spectral_gap(sett::Settings) function spectral_gap(sett::Settings)
fp = PropertyT.fullpath(sett) fp = PropertyT.fullpath(sett)
isdir(fp) || mkpath(fp) isdir(fp) || mkpath(fp)