PolyhedralSets
Project
project a polyhedral set to a lower coordinate dimension
Calling Sequence
Parameters
Description
Examples
References
Compatibility
Project(polyset, coords)
Project(polyset, coords, reducespace)
Project(polyset, coords, M)
Project(polyset, eqs)
Project(polyset,coords,redundancycheck)
polyset
-
polyhedral set
coords
list of names, coordinates of the projected set
M
matrix with rational coefficients
eqs
list of equations; subspace onto which the set is to be projected
redundancycheck
can be set to linearprogramming or redundancycone
The calling sequence Project(polyset, coords) projects the set polyset onto the coordinate axes given in coords. The projected set will have the same ambient space as polyset unless the reducespace option is given, in which case coords will be the ambient space for the new set.
A projection matrix M can be given with the calling sequence Project(polyset, M, coords). The matrix M is of size m&xn, where n is the number of coordinates in coords and m is the number of coordinates in Coordinates(polyset). It defines a transformation of the form x=M⁢y, where x are the coordinates of polyset and y the coordinates specified in coords. If M is square, coords can be omitted to retain the same coordinate names.
The projection may also be specified by giving the subspace onto which the set should be projected in the form of a list of equations. The set will be projected onto this subspace and the projected set will have the same ambient space as the original set.
The option redundancycheck specifies the algorithm for removing redundant inequalities in the process of projecting a polyhedral set. The default value of this option is linearprogramming, where the Simplex algorithm is called to detect redundant inequalities. The other option, redundancycone, generates a so-called redundancy cone in the beginning of the projection process. Then, the algorithm uses the extreme rays of this cone to detect redundant inequalities. This method only uses matrix operations.
with⁡PolyhedralSets:
Construct a pyramid with a square base
pyramid≔PolyhedralSet⁡1,1,0,−1,1,0,−1,−1,0,1,−1,0,0,0,1,x,y,z
pyramid≔{Coordinates:x,y,zRelations:−z≤0,z−y≤1,y+z≤1,−x+z≤1,z+x≤1
Plot⁡pyramid,orientation=38,76,0
A top-down projection is obtained by eliminating the z coordinate, which gives a square
pyramid_top≔Project⁡pyramid,x,y
pyramid_top≔{Coordinates:x,y,zRelations:z=0,−y≤1,y≤1,−x≤1,x≤1
Plot⁡pyramid_top
A projection matrix can be used to define a side-view projection
M≔1|0,0|0,0|1
M≔100001
pyramid_side≔Project⁡pyramid,a,b,M
pyramid_side≔{Coordinates:a,bRelations:−b≤0,b−a≤1,a+b≤1
Plot⁡pyramid_side
The pyramid can also be projected onto the subspace defined by the equation
projection_subspace≔−2⁢x−z=4
plane≔PolyhedralSet⁡projection_subspace,x,y,z
plane≔{Coordinates:x,y,zRelations:x+z2=−2
pyramid_oblique≔Project⁡pyramid,projection_subspace
pyramid_oblique≔{Coordinates:x,y,zRelations:−z≤65,−y≤1,−y+5⁢z2≤0,y≤1,y+5⁢z2≤0,x+z2=−2
Plot⁡pyramid,plane,pyramid_oblique,orientation=38,76,0,transparency=0.,0.1,0.3,scaling=constrained,view=−94..32,−32..32,−74..32
Rui-Juan Jing, Marc Moreno-Maza, and Delaram Talaashrafi, Complexity Estimates for Fourier-Motzkin Elimination, Proceedings CASC 2020, 282-306, 2020, LNCS 12291, Springer-Verlag.
The PolyhedralSets[Project] command was introduced in Maple 2015.
For more information on Maple 2015 changes, see Updates in Maple 2015.
The PolyhedralSets[Project] command was updated in Maple 2021.
The redundancycheck parameter was introduced in Maple 2021.
For more information on Maple 2021 changes, see Updates in Maple 2021.
See Also
PolyhedralSets[LinearTransformation]
PolyhedralSets[Translate]
PolyhedralSets[PolyhedralSet]
LinearAlgebra[ProjectionMatrix]
Download Help Document