From d4613168c3951c266c40cbec35e2356df7dde9e1 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Tue, 8 Jan 2019 04:59:41 +0100 Subject: [PATCH] reorganize autIdproj --- src/checksolution.jl | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/checksolution.jl b/src/checksolution.jl index 91af92f..070fff8 100644 --- a/src/checksolution.jl +++ b/src/checksolution.jl @@ -16,7 +16,19 @@ function compute_SOS(RG::GroupRing, Q::AbstractArray) return GroupRingElem(result, RG) end -function augIdproj(Q::AbstractArray{T,2}) where {T<:Real} +function augIdproj(Q::AbstractMatrix{T}) where {T<:Real} + result = zeros(size(Q)) + l = size(Q, 2) + Threads.@threads for j in 1:l + col = sum(view(Q, :,j))/l + for i in 1:size(Q, 1) + result[i,j] = Q[i,j] - col + end + end + return result +end + +function augIdproj(::Interval, Q::AbstractMatrix{T}) where {T<:Real} result = zeros(Interval{T}, size(Q)) l = size(Q, 2) Threads.@threads for j in 1:l @@ -25,8 +37,6 @@ function augIdproj(Q::AbstractArray{T,2}) where {T<:Real} result[i,j] = @interval(Q[i,j] - col) end end - return result -end - - end + check = all([zero(T) in sum(view(result, :, i)) for i in 1:size(result, 2)]) + return result, check end