Change of dimension of polyhedra
At the end
- Function: poly_t* poly_add_dimensions_and_embed (const poly_t* po, int dimsup)
- This function adds dimsup dimension to the given polyhedron and
embed it in the new space. The new dimensions are the last one, i.e.
the corresponding coefficients are in the last columns of
vectors and matrices. Preserves the minimality of the polyhedron: if
the parameter is in minimal form, then its the case for the result, otherwise not.
- Function: poly_t* poly_add_dimensions_and_project (const poly_t* po, int dimsup)
- This function adds dimsup dimension to the given polyhedron and
project it onto the old dimensions, i.e. the constraints x_i=0 are
satisfied for the new dimensions i. The new dimensions are the last
one, i.e. the corresponding coefficients are in the last columns of
vectors and matrices. Preserves the minimality of the
polyhedron.
- Function: poly_t* poly_remove_dimensions (const poly_t* po, int dimsup)
- This function projects the given polyhedron onto the
po->dim-dimsup first dimensions, and eliminates the last
coefficients. Minimality is lost. The parameter may be minimzed in
order to get its generators.
Anywhere
See section Change of dimension of vectors, for more details about the
meaning of arrays of elements of type dimsup_t
.
- Function: poly_t* poly_add_dimensions_and_embed_multi (const poly_t* po, const dimsup_t* tab, size_t size)
- Adds new dimensions in the polyhedron po, according to the array
tab of size size, and embed it in the new
space. Preserves the minimality of the polyhedron.
- Function: poly_t* poly_add_dimensions_and_project_multi (const poly_t* po, const dimsup_t* tab, size_t size)
- Adds new dimensions in the polyhedron po, according to the array
tab of size size, and project it onto the old
dimensions. Preserves the minimality of the polyhedron.
- Function: poly_t* poly_remove_dimensions_multi (const poly_t* po, const dimsup_t* tab, size_t size)
- Deletes some dimensions in the polyhedron po, according to the
array tab of size size. Minimality is lost.
Change of dimensions together with permutation
- Function: void poly_add_permute_dimensions_and_embed (const poly_t* po, int dimsup, const int* permutation)
- dimsup is supposed to be positive or null. Add first
dimsup dimensions at the end (the corresponding coefficients are
in the last columns of vectors and matrices), embed the polyehdron
into the new space and then apply the permutation permutation of
size
poly_dim(po)+dimsup
to the dimensions of the polyhedron.
The permutation permutation defines a permutation (i.e., a
bijection) from [0..(poly_dim(po)+dimsup)-1]
to itself. BE
CAUTIOUS: value 0
in the permutation means columns
polka_dec.
- Function: void poly_add_permute_dimensions_and_project (const poly_t* po, int dimsup, const int* permutation)
- dimsup is supposed to be positive or null. Add first
dimsup dimensions at the end (the corresponding coefficients are
in the last columns of vectors and matrices), project the polyehdron
onto the old dimensions, and then apply the permutation permutation of
size
poly_dim(po)+dimsup
to the dimensions of the polyhedron.
The permutation permutation defines a permutation (i.e., a
bijection) from [0..(poly_dim(po)+dimsup)-1]
to itself. BE
CAUTIOUS: value 0
in the permutation means columns
polka_dec.
- Function: void poly_permute_remove_dimensions (const poly_t* po, int dimsup, const int* permutation)
- dimsup is supposed to be positive or null. Permute first the
dimensions of the polyhedron according to the permutation
permutation of size
poly_dim(po)
, then remove the
dimsup last dimensions and project the polyhedron onto the
reduced space.
The permutation permutation defines a permutation (i.e., a
bijection) from [0..poly_dim(po)-1]
to itself. BE
CAUTIOUS: value 0
in the permutation means columns
polka_dec.
This document was generated
on October, 27 2006
using texi2html