Convex sets (ConvexSet)
Every convex set in this library implements this interface.
LazySets.ConvexSet — TypeConvexSet{N} <: LazySet{N}Abstract type for convex sets, i.e., sets characterized by a (possibly infinite) intersection of halfspaces, or equivalently, sets $S$ such that for any two elements $x, y ∈ S$ and $0 ≤ λ ≤ 1$ it holds that $λ·x + (1-λ)·y ∈ S$.
Notes
Every concrete ConvexSet must define the following function:
- σ(::AbstractVector, ::LazySet)– return a support vector in the given direction
This interface requires to implement the following function:
LazySets.API.σ — Methodσ(d::AbstractVector, X::LazySet)Compute a support vector of a set in a given direction.
Input
- d– direction
- X– set
Output
A support vector of X in direction d.
Notes
The convenience alias support_vector is also available.
This interface defines the following functions (undocumented):
Inherited from LazySet:
- an_element
- area
- chebyshev_center_radius
- complement
- concretize
- constraints
- convex_hull
- copy(::Type{LazySet})
- diameter
- eltype
- eltype
- extrema
- extrema
- high
- high
- isbounded
- isboundedtype
- isempty
- isoperation
- ispolyhedral
- ispolyhedraltype
- ispolytopic
- low
- low
- norm
- polyhedron
- radius
- rationalize
- rectify
- reflect
- singleton_list
- tosimplehrep
- triangulate
- triangulate_faces
- vertices
- affine_map
- exponential_map
- is_interior_point
- linear_map
- project
- sample
- scale
- ρ
- translate
- cartesian_product
- convex_hull
- exact_sum
- isapprox
- isdisjoint
- ==
- isequivalent
- ⊂
- ⊆
- minkowski_difference
- minkowski_sum