ConvexHull

Convex hull

Binary convex hull (ConvexHull)

ConvexHull{N<:Real, S1<:LazySet{N}, S2<:LazySet{N}} <: LazySet{N}

Type that represents the convex hull of the union of two convex sets.

Fields

  • X – convex set
  • Y – convex set

Notes

The EmptySet is the neutral element for ConvexHull.

Examples

Convex hull of two 100-dimensional Euclidean balls:

julia> b1, b2 = Ball2(zeros(100), 0.1), Ball2(4*ones(100), 0.2);

julia> c = ConvexHull(b1, b2);

julia> typeof(c)
ConvexHull{Float64,Ball2{Float64,Array{Float64,1}},Ball2{Float64,Array{Float64,1}}}
source
LazySets.CHType.
CH

Alias for ConvexHull.

source
LazySets.swapMethod.
swap(ch::ConvexHull)

Return a new ConvexHull object with the arguments swapped.

Input

  • ch – convex hull of two convex sets

Output

A new ConvexHull object with the arguments swapped.

source
LazySets.dimMethod.
dim(ch::ConvexHull)

Return the dimension of a convex hull of two convex sets.

Input

  • ch – convex hull of two convex sets

Output

The ambient dimension of the convex hull of two convex sets.

source
LazySets.ρMethod.
ρ(d::AbstractVector{N}, ch::ConvexHull{N}) where {N<:Real}

Return the support function of a convex hull of two convex sets in a given direction.

Input

  • d – direction
  • ch – convex hull of two convex sets

Output

The support function of the convex hull in the given direction.

source
LazySets.σMethod.
σ(d::AbstractVector{N}, ch::ConvexHull{N}) where {N<:Real}

Return the support vector of a convex hull of two convex sets in a given direction.

Input

  • d – direction
  • ch – convex hull of two convex sets

Output

The support vector of the convex hull in the given direction.

source
LazySets.isboundedMethod.
isbounded(ch::ConvexHull)

Determine whether a convex hull of two convex sets is bounded.

Input

  • ch – convex hull of two convex sets

Output

true iff both wrapped sets are bounded.

source
Base.isemptyMethod.
isempty(ch::ConvexHull)

Return if a convex hull of two convex sets is empty or not.

Input

  • ch – convex hull

Output

true iff both wrapped sets are empty.

source

Inherited from LazySet:

$n$-ary convex hull (ConvexHullArray)

ConvexHullArray{N<:Real, S<:LazySet{N}} <: LazySet{N}

Type that represents the symbolic convex hull of a finite number of convex sets.

Fields

  • array – array of sets

Notes

The EmptySet is the neutral element for ConvexHullArray.

Constructors:

  • ConvexHullArray(array::Vector{<:LazySet}) – default constructor

  • ConvexHullArray([n]::Int=0, [N]::Type=Float64) – constructor for an empty hull with optional size hint and numeric type

Examples

Convex hull of 100 two-dimensional balls whose centers follows a sinusoidal:

julia> b = [Ball2([2*pi*i/100, sin(2*pi*i/100)], 0.05) for i in 1:100];

julia> c = ConvexHullArray(b);
source
CHArray

Alias for ConvexHullArray.

source
LazySets.dimMethod.
dim(cha::ConvexHullArray)

Return the dimension of the convex hull of a finite number of convex sets.

Input

  • cha – convex hull array

Output

The ambient dimension of the convex hull of a finite number of convex sets.

source
LazySets.ρMethod.
ρ(d::AbstractVector{N}, cha::ConvexHullArray{N}) where {N<:Real}

Return the support function of a convex hull array in a given direction.

Input

  • d – direction
  • cha – convex hull array

Output

The support function of the convex hull array in the given direction.

Algorithm

This algorihm calculates the maximum over all $ρ(d, X_i)$ where the $X_1, …, X_k$ are the sets in the array cha.

source
LazySets.σMethod.
σ(d::AbstractVector{N}, cha::ConvexHullArray{N}) where {N<:Real}

Return the support vector of a convex hull array in a given direction.

Input

  • d – direction
  • cha – convex hull array
source
LazySets.isboundedMethod.
isbounded(cha::ConvexHullArray)

Determine whether a convex hull of a finite number of convex sets is bounded.

Input

  • cha – convex hull of a finite number of convex sets

Output

true iff all wrapped sets are bounded.

source
LazySets.arrayMethod.

array(cpa::CartesianProductArray{N, S}) where {N<:Real, S<:LazySet{N}}

Return the array of a Cartesian product of a finite number of convex sets.

Input

  • cpa – Cartesian product array

Output

The array of a Cartesian product of a finite number of convex sets.

source
array(cha::ConvexHullArray{N, S}) where {N<:Real, S<:LazySet{N}}

Return the array of a convex hull of a finite number of convex sets.

Input

  • cha – convex hull array

Output

The array of a convex hull of a finite number of convex sets.

source

array(ia::IntersectionArray{N, S}) where {N<:Real, S<:LazySet{N}}

Return the array of an intersection of a finite number of convex sets.

Input

  • ia – intersection of a finite number of convex sets

Output

The array of an intersection of a finite number of convex sets.

source

array(msa::MinkowskiSumArray{N, S}) where {N<:Real, S<:LazySet{N}}

Return the array of a Minkowski sum of a finite number of convex sets.

Input

  • msa – Minkowski sum array

Output

The array of a Minkowski sum of a finite number of convex sets.

source
array(cms::CachedMinkowskiSumArray{N, S}) where {N<:Real, S<:LazySet{N}}

Return the array of a caching Minkowski sum.

Input

  • cms – caching Minkowski sum

Output

The array of a caching Minkowski sum.

source

array(cup::UnionSetArray{N, S}) where {N<:Real, S<:LazySet{N}}

Return the array of a union of a finite number of convex sets.

Input

  • cup – union of a finite number of convex sets

Output

The array that holds the union of a finite number of convex sets.

source
Base.isemptyMethod.
isempty(cha::ConvexHullArray)

Return if a convex hull array is empty or not.

Input

  • cha – convex hull array

Output

true iff all wrapped sets are empty.

source
vertices_list(X::ConvexHullArray{N, Singleton{N, VT}}) where {N, VT}

Return the list of vertices of the convex hull array of singletons.

Input

  • X – convex hull array of singletons

Output

The list of elements in the array that defines X.

source

Inherited from LazySet: