mirror of
https://github.com/kalmarek/PropertyT.jl.git
synced 2024-12-25 10:20:30 +01:00
interpret_results for intervals
This commit is contained in:
parent
f3ec2dd1b1
commit
bfb08e69e4
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user