Centrally symmetric polytopes (AbstractCentrallySymmetricPolytope)
A centrally symmetric polytope is a combination of two other interfaces: Centrally symmetric sets and Polytope.
LazySets.AbstractCentrallySymmetricPolytope
— TypeAbstractCentrallySymmetricPolytope{N} <: AbstractPolytope{N}
Abstract type for centrally symmetric, polytopic sets. It combines the AbstractCentrallySymmetric
and AbstractPolytope
interfaces. Such a type combination is necessary as long as Julia does not support multiple inheritance.
Notes
Every concrete AbstractCentrallySymmetricPolytope
must define the following AbstractCentrallySymmetric
method, in addition to the AbstractPolytope
methods:
center(::AbstractCentrallySymmetricPolytope)
– return the center point
The subtypes of AbstractCentrallySymmetricPolytope
(including abstract interfaces):
julia> subtypes(AbstractCentrallySymmetricPolytope)
2-element Vector{Any}:
AbstractZonotope
Ball1
This interface requires to implement the required functions of both the AbstractCentrallySymmetric
and AbstractPolytope
interfaces:
LazySets.API.center
— Methodcenter(X::LazySet)
Compute the center of a centrally symmetric set.
Input
X
– centrally symmetric set
Output
A vector with the center, or midpoint, of X
.
LazySets.API.constraints_list
— Methodconstraints_list(X::LazySet)
Compute a list of linear constraints of a polyhedral set.
Input
X
– polyhedral set
Output
A list of the linear constraints of X
.
LazySets.API.vertices_list
— Methodvertices_list(X::LazySet)
Compute a list of vertices of a polytopic set.
Input
X
– polytopic set
Output
A list of the vertices of X
.
This interface shares the following functions with AbstractCentrallySymmetric
:
LazySets.API.an_element
— MethodExtended help
an_element(S::AbstractCentrallySymmetricPolytope)
Output
The center of the centrally symmetric set.
Base.extrema
— MethodExtended help
extrema(S::AbstractCentrallySymmetricPolytope)
Notes
The result is equivalent to (low(S), high(S))
.
Algorithm
We compute high(S)
and then compute the lowest coordinates with the help of center(S)
(which is assumed to be cheaper to obtain).
Base.extrema
— MethodExtended help
extrema(S::AbstractCentrallySymmetricPolytope, i::Int)
Notes
The result is equivalent to (low(S, i), high(S, i))
.
Algorithm
We compute high(S, i)
and then compute the lowest coordinates with the help of center(S, i)
(which is assumed to be cheaper to obtain).
LazySets.API.isuniversal
— FunctionExtended help
isuniversal(S::AbstractCentrallySymmetricPolytope, [witness]::Bool=false)
Algorithm
A witness is obtained by computing the support vector in direction d = [1, 0, …, 0]
and adding d
on top.
Undocumented implementations shared with AbstractCentrallySymmetric
:
Inherited from LazySet
:
area
chebyshev_center_radius
complement
concretize
constraints
convex_hull
copy(::Type{LazySet})
delaunay
diameter
eltype
eltype
isoperation
norm
polyhedron
radius
rationalize
rectify
reflect
singleton_list
surface
tosimplehrep
triangulate
vertices
affine_map
exponential_map
is_interior_point
linear_map
sample
scale
ρ
translate
cartesian_product
convex_hull
exact_sum
≈
==
isequivalent
⊂
minkowski_difference
Inherited from ConvexSet
:
Inherited from AbstractPolyhedron
:
Inherited from AbstractPolytope
: