Cartesian Product

LazySets.cartesian_productMethod
cartesian_product(P1::VPolytope, P2::VPolytope; [backend]=nothing)

Compute the Cartesian product of two polytopes in vertex representation.

Input

  • P1 – polytope in vertex representation
  • P2 – polytope in vertex representation
  • backend – (optional, default: nothing) backend for polyhedral computation

Output

The VPolytope obtained by the concrete Cartesian product of P1 and P2.

Notes

For further information on the supported backends see Polyhedra's documentation.

source
LazySets.cartesian_productMethod
cartesian_product(X::LazySet, Y::LazySet; [backend]=nothing,
                  [algorithm]::String="vrep")

Compute the Cartesian product of two sets.

Input

  • X – set

  • Y – set

  • backend – (optional, default: nothing) backend for polyhedral computation

  • algorithm – (optional, default: "hrep") the method used to transform the sets X and Y before taking the Cartesian product; choose between:

    • "vrep" (use the vertex representation)
    • "hrep" (use the constraint representation)
    • "hrep_polyhedra" (use the constraint representation and Polyhedra)

Output

The VPolytope (if "vrep" was used) or HPolytope/HPolyhedron (if "hrep" or "hrep_polyhedra" was used) obtained by the concrete Cartesian product of X and Y. The choice between HPolytope and HPolyhedron is made based on boundedness information deduced from the type.

Notes

For further information on the supported backends see Polyhedra's documentation.

If X can be converted to a one-dimensional interval and the vertices of Y are available, use algorithm="vrep".

source
LazySets.cartesian_productMethod
cartesian_product(P1::SimpleSparsePolynomialZonotope,
                  P2::SimpleSparsePolynomialZonotope)

Compute the Cartesian product of two simple sparse polynomial zonotopes.

Input

  • P1 – simple sparse polynomial zonotope
  • P2 – simple sparse polynomial zonotope

Output

The Cartesian product of P1 and P2.

Algorithm

This method implements Proposition 3.1.22 in [1].

[1] Kochdumper, Niklas. Extensions of polynomial zonotopes and their application to verification of cyber-physical systems. PhD diss., Technische Universität München, 2022.

source
LazySets.cartesian_productMethod
cartesian_product(P1::SparsePolynomialZonotope, P2::SparsePolynomialZonotope)

Compute the Cartesian product of two sparse polynomial zonotopes.

Input

  • P1 – sparse polynomial zonotope
  • P2 – sparse polynomial zonotope

Output

The Cartesian product of P1 and P2.

Algorithm

This method implements Proposition 3.1.22 in [1].

[1] Kochdumper, Niklas. Extensions of polynomial zonotopes and their application to verification of cyber-physical systems. PhD diss., Technische Universität München, 2022.

source
LazySets.cartesian_productMethod
cartesian_product(SPZ::SparsePolynomialZonotope, Z::AbstractZonotope)

Compute the Cartesian product of a sparse polynomial zonotope and a zonotopic set.

Input

  • SPZ – sparse polynomial zonotope
  • Z – zonotopic set

Output

The Cartesian product of SPZ and Z.

Algorithm

This method implements Proposition 3.1.22 in [1].

[1] Kochdumper, Niklas. Extensions of polynomial zonotopes and their application to verification of cyber-physical systems. PhD diss., Technische Universität München, 2022.

source