Cartesian Product
LazySets.API.cartesian_product
— Methodcartesian_product(X::LazySet, Y::LazySet; [backend]=nothing,
[algorithm]::String="vrep")
Compute the Cartesian product of two sets.
Input
X
– setY
– setbackend
– (optional, default:nothing
) backend for polyhedral computationalgorithm
– (optional, default: "hrep") the method used to transform the setsX
andY
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"
.
LazySets.API.cartesian_product
— Methodcartesian_product(SPZ::SparsePolynomialZonotope, Z::AbstractZonotope)
Compute the Cartesian product of a sparse polynomial zonotope and a zonotopic set.
Input
SPZ
– sparse polynomial zonotopeZ
– 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.