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').
This document was generated
on October, 27 2006
using texi2html