From 0e89b12e90f4070fe18877912c26d29ff02cb092 Mon Sep 17 00:00:00 2001 From: kalmar Date: Sun, 25 Jun 2017 09:31:52 +0200 Subject: [PATCH] move functions --- src/CheckSolution.jl | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/CheckSolution.jl b/src/CheckSolution.jl index 813d876..1455260 100644 --- a/src/CheckSolution.jl +++ b/src/CheckSolution.jl @@ -8,6 +8,21 @@ IntervalArithmetic.setprecision(Interval, 53) # slightly faster than 256 import IntervalArithmetic.± +function (±){T<:Number}(X::AbstractArray{T}, tol::Real) + r{T}(x::T) = (x == zero(T)? @interval(0) : x ± tol) + return r.(X) +end + +(±)(X::GroupRingElem, tol::Real) = GroupRingElem(X.coeffs ± tol, parent(X)) + +function Base.rationalize{T<:Integer, S<:Real}(::Type{T}, + X::AbstractArray{S}; tol::Real=eps(eltype(X))) + r(x) = rationalize(T, x, tol=tol) + return r.(X) +end + +ℚ(x, tol::Real) = rationalize(BigInt, x, tol=tol) + function EOI{T<:Number}(Δ::GroupRingElem{T}, λ::T) return Δ*Δ - λ*Δ end @@ -44,21 +59,6 @@ function correct_to_augmentation_ideal{T<:Rational}(sqrt_matrix::Array{T,2}) return sqrt_corrected end -function (±){T<:Number}(X::AbstractArray{T}, tol::Real) - r{T}(x::T) = (x == zero(T)? @interval(0) : x ± tol) - return r.(X) -end - -(±)(X::GroupRingElem, tol::Real) = GroupRingElem(X.coeffs ± tol, parent(X)) - -function Base.rationalize{T<:Integer, S<:Real}(::Type{T}, - X::AbstractArray{S}; tol::Real=eps(eltype(X))) - r(x) = rationalize(T, x, tol=tol) - return r.(X) -end - -ℚ(x, tol::Real) = rationalize(BigInt, x, tol=tol) - function distance_to_cone{T<:Rational}(λ::T, sqrt_matrix::Array{T,2}, Δ::GroupRingElem{T}, wlen) SOS = compute_SOS(sqrt_matrix, Δ)