[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on October, 27 2006 using texi2html