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

Linear transformations on polyhedra

Single variable/expression

Function: poly_t* poly_assign_variable (const poly_t* po, int rank, const pkint_t* tab)
This function applies to the polyhedron the linear transformation x'_rank := \sum_{i=0}^{dim-1} a_i/d x_i + b/d with rank the rank of the variable (rank 0 corresponding to the first normal variable) and tab=[d,b,[0],a_0,...,a_{dim-1}]. po may be minimized in order to obtain its generators. Minimality is then preserved if the transformation is inversible.
Function: poly_t* poly_substitute_variable (const poly_t* po, int rank, const pkint_t* tab)
This function applies to the polyhedron the linear substitution x'_rank <- \sum_{i=0}^{dim-1} a_i/d x_i + b/d with rank denoting the rank of the variable (rank 0 corresponding to the first normal variable) and tab=[d,b,[0],a_0,...,a_{dim-1}]. po may be minimized in order to obtain its constraints. Minimality is then preserved if the transformation is inversible.

The two following functions are kept for compatibility. The variable to be assigne or substituted is not denoted by its rank, but by its index in vectors: we have the relationship index = rank + polka_dec.

Function: poly_t* poly_assign_variable_old (const poly_t* po, int index, const pkint_t* tab)
Function: poly_t* poly_substitute_variable_old (const poly_t* po, int index, const pkint_t* tab)
Same as poly_assign_variable and poly_substitute_variable, but with index denoting the index of the variable in vectors.

Several variables/expressions

Function: poly_t* poly_assign_variables (const poly_t* po, const equation_t* eqn, size_t size)
Computes the image of po by the parallel assignment of eqn[i].var by eqn[i].expr, for i between 0 and size-1. The array eqn is supposed to be sorted w.r.t. the field .var. You may use the function sort_equations to ensure this (see `polka.h').

Function: poly_t* poly_substitute_variables (const poly_t* po, const equation_t* eqn, size_t size)
Computes the image of poly by the parallel substitution of eqn[i].expr by eqn[i].expr, for i between 0 and size-1. The array eqn is supposed to be sorted w.r.t. the field .var. You may use the function sort_equations to ensure this (see `polka.h').


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

This document was generated on October, 27 2006 using texi2html