From 2471c752e63e583ac440511aface0c0f59b2acbd Mon Sep 17 00:00:00 2001 From: kalmar Date: Mon, 5 Jun 2017 13:20:32 +0200 Subject: [PATCH] =?UTF-8?q?bring=20=CE=94andSDPconstraints{T<:GroupElem}?= =?UTF-8?q?=20from=20specific=20groups=20definition?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PropertyT.jl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/PropertyT.jl b/src/PropertyT.jl index 3bf2c60..55610ab 100644 --- a/src/PropertyT.jl +++ b/src/PropertyT.jl @@ -49,6 +49,26 @@ function ΔandSDPconstraints{T<:GroupElem}(name::String, S::Vector{T}, radius::I save(Δ_fname, "Δ", Δ.coeffs) end +function ΔandSDPconstraints{T<:GroupElem}(S::Vector{T}, r::Int=2) + Id = parent(S[1])() + B, sizes = Groups.generate_balls(S, Id, radius=2*r) + info(logger, "Generated balls of sizes $sizes") + + info(logger, "Creating product matrix...") + t = @timed pm = GroupRings.create_pm(B, GroupRings.reverse_dict(B), sizes[r]; twisted=true) + info(logger, timed_msg(t)) + + info(logger, "Creating sdp_constratints...") + t = @timed sdp_constraints = PropertyT.constraints_from_pm(pm) + info(logger, timed_msg(t)) + + RG = GroupRing(parent(Id), B, pm) + + Δ = splaplacian(RG, S, B[1:sizes[r]], sizes[2*r]) + return Δ, sdp_constraints +end + + function timed_msg(t) elapsed = t[2] bytes_alloc = t[3]