Sparse polynomial zonotope sets (AbstractSparsePolynomialZonotope)

LazySets.AbstractSparsePolynomialZonotopeType
AbstractSparsePolynomialZonotope{N} <: AbstractPolynomialZonotope{N}

Abstract type for sparse polynomial zonotope sets.

Notes

See SparsePolynomialZonotope for a standard implementation of this interface.

Every concrete AbstractSparsePolynomialZonotope must define the following functions:

  • expmat(::AbstractSparsePolynomialZonotope) – return the exponent matrix (sparse PZ only)
  • genmat_dep(::AbstractSparsePolynomialZonotope) – return the matrix of dependent generators
  • genmat_indep(::AbstractSparsePolynomialZonotope) – return the matrix of independent generators

The subtypes of AbstractSparsePolynomialZonotope (including abstract interfaces):

julia> subtypes(AbstractSparsePolynomialZonotope)
2-element Vector{Any}:
 SimpleSparsePolynomialZonotope
 SparsePolynomialZonotope
source

This interface requires to implement the following functions:

LazySets.expmatMethod
expmat(P::AbstractSparsePolynomialZonotope)

Return the matrix of exponents of a sparse polynomial zonotope.

Input

  • P – sparse polynomial zonotope

Output

The matrix of exponents, where each column is a multidegree.

Notes

In the exponent matrix, each row corresponds to a parameter ($αₖ$ in the definition) and each column corresponds to a monomial.

source
LazySets.genmat_depMethod
genmat_dep(P::AbstractSparsePolynomialZonotope)

Return the matrix of dependent generators of a sparse polynomial zonotope.

Input

  • P – sparse polynomial zonotope

Output

The matrix of dependent generators.

source
LazySets.genmat_indepMethod
genmat_indep(P::AbstractSparsePolynomialZonotope)

Return the matrix of independent generators of a sparse polynomial zonotope.

Input

  • P – sparse polynomial zonotope

Output

The matrix of independent generators.

source

This interface defines the following functions:

LazySets.nparamsMethod
nparams(P::AbstractSparsePolynomialZonotope)

Return the number of dependent parameters in the polynomial representation of a sparse polynomial zonotope.

Input

  • P – sparse polynomial zonotope

Output

The number of dependent parameters in the polynomial representation.

Notes

This number corresponds to the number of rows in the exponent matrix.

source
LazySets.API.ρMethod
ρ(d::AbstractVector, P::AbstractSparsePolynomialZonotope; [enclosure_method]=nothing)

Bound the support function of $P$ in the direction $d$.

Input

  • d – direction
  • P – sparse polynomial zonotope
  • enclosure_method – (optional; default: nothing) method to use for enclosure; an AbstractEnclosureAlgorithm from the Rangeenclosures.jl package

Output

An overapproximation of the support function in the given direction.

Algorithm

This method implements Kochdumper [Koc22], Proposition 3.1.16.

source
LazySets.API.linear_combinationMethod
linear_combination(X::LazySet, Y::LazySet)

Compute the linear combination of two sets.

Input

  • X – set
  • Y – set

Output

A set representing the linear combination of X and Y.

Notes

The linear combination of two sets $X$ and $Y$ is defined as

\[ \left\{\frac{1}{2}(1+λ)x + \frac{1}{2}(1-λ)y \mid x ∈ X, y ∈ Y, λ ∈ [-1, 1]\right\}.\]

If $X$ and $Y$ are convex, their linear combination is identical with the convex hull of their union $X ∪ Y$.

source

Undocumented implementations:

Inherited from LazySet:

Inherited from AbstractPolynomialZonotope:

Implementations