Complement
Note that the complement of a convex set is generally not convex. Hence this set type is not part of the convex-set family LazySet.
LazySets.Complement — Type.Complement{N<:Real, S<:LazySet{N}}Type that represents the complement of a convex set.
Fields
- X– convex set
Notes
Since X is assumed to be closed, unless X is empty or the universe, its complement is open (i.e., not closed). Since X is assumed to be closed, unless X is empty, the universe, or a half-space, its complement is not convex.
The complement of the complement is the original set again.
Examples
julia> B = BallInf(zeros(2), 1.);
julia> C = Complement(B)
Complement{Float64,BallInf{Float64}}(BallInf{Float64}([0.0, 0.0], 1.0))
julia> Complement(C)
BallInf{Float64}([0.0, 0.0], 1.0)LazySets.dim — Method.dim(C::Complement)Return the dimension of the complement of a convex set.
Input
- C– complement of a convex set
Output
The dimension of the complement of a convex set.
Base.:∈ — Method.∈(x::AbstractVector{N}, C::Complement{N}) where {N<:Real}Check whether a given point is contained in the complement of a convex set.
Input
- x– point/vector
- C– complement of a convex set
Output
true iff the vector is contained in the complement.
Algorithm
Base.isempty — Method.isempty(C::Complement)Return if the complement of a convex set is empty or not.
Input
- C– complement of a convex set
Output
false unless the original set is universal.
Algorithm
We use the isuniversal method.