project a polyhedral set to a lower coordinate dimension
Project(polyset, coords, reducespace)
Project(polyset, coords, M)
list of names, coordinates of the projected set
matrix with rational coefficients
list of equations; subspace onto which the set is to be projected
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.
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
A top-down projection is obtained by eliminating the z coordinate, which gives a square
pyramid_top ≔ Project⁡pyramid,x,y
A projection matrix can be used to define a side-view projection
M ≔ 1|0,0|0,0|1
pyramid_side ≔ Project⁡pyramid,a,b,M
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
pyramid_oblique ≔ Project⁡pyramid,projection_subspace
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.
Download Help Document