Convex hull
Binary convex hull (ConvexHull)
LazySets.ConvexHull — Type.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 setY– 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}}}LazySets.CH — Type.CHAlias for ConvexHull.
LazySets.swap — Method.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.
LazySets.dim — Method.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.
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– directionch– convex hull of two convex sets
Output
The support function of the convex hull in the given direction.
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– directionch– convex hull of two convex sets
Output
The support vector of the convex hull in the given direction.
LazySets.isbounded — Method.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.
Base.isempty — Method.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.
Inherited from LazySet:
$n$-ary convex hull (ConvexHullArray)
LazySets.ConvexHullArray — Type.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 constructorConvexHullArray([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);LazySets.CHArray — Type.CHArrayAlias for ConvexHullArray.
LazySets.dim — Method.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.
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– directioncha– 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.
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– directioncha– convex hull array
LazySets.isbounded — Method.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.
LazySets.array — Method.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.
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.
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.
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.
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.
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.
Base.isempty — Method.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.
LazySets.vertices_list — Method.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.
Inherited from LazySet: