#include <stdlib.h>
#include <polylib/matrix_permutations.h>
Go to the source code of this file.
Functions | |
unsigned int | nb_bits (unsigned long long int x) |
Permutations on matrices Matrices are seen either as transformations (mtransformation) or as polyhedra (mpolyhedron or Constraints). | |
unsigned int * | permutation_inverse (unsigned int *perm, unsigned int nb_elems) |
Gives the inverse permutation vector of a permutation vector. | |
Matrix * | mtransformation_permute (Matrix *transf, unsigned int *permutation) |
Given a linear tranformation on initial variables, and a variable permutation, computes the tranformation for the permuted variables. | |
Matrix * | mpolyhedron_permute (Matrix *polyh, unsigned int *permutation) |
permutes the variables of the constraints of a polyhedron | |
void | Constraints_permute (Matrix *C, unsigned int *perm, Matrix **Cp) |
permutes the variables of the constraints of a polyhedron | |
unsigned long long int | eliminable_vars (Matrix *Eqs, unsigned start, unsigned end) |
Given a set of equalities, find a set of variables that can be eliminated using these equalities. | |
unsigned int * | find_a_permutation (Matrix *Eqs, unsigned int nb_parms) |
finds a valid permutation : for a set of m equations, find m variables that will be put at the beginning (to be eliminated). | |
unsigned int * | permutation_for_full_dim2 (unsigned int *vars_to_keep, unsigned int nb_keep, unsigned int nb_vars_parms, unsigned int nb_parms) |
computes the permutation of variables and parameters, according to some variables to keep. |
|
permutes the variables of the constraints of a polyhedron
Definition at line 87 of file matrix_permutations.c. References assert, Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and value_assign. Referenced by Constraints_fullDimensionize(). |
|
Given a set of equalities, find a set of variables that can be eliminated using these equalities. The variables that we agree to eliminate are in a zone of contiguous variables (or parameters). Notes:
Definition at line 117 of file matrix_permutations.c. References assert, Constraints2Polyhedron(), emptyQ, Matrix, Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), nb_bits(), matrix::NbColumns, matrix::NbRows, matrix::p, Polyhedron, Polyhedron_Free(), right_hermite(), value_assign, value_notzero_p, and Vector_IsZero(). Referenced by find_a_permutation(). |
|
finds a valid permutation : for a set of m equations, find m variables that will be put at the beginning (to be eliminated). Note: inherits the limited the number of variables from eliminable_vars Definition at line 196 of file matrix_permutations.c. References eliminable_vars(), Matrix, matrix::NbColumns, and matrix::NbRows. Referenced by Constraints_fullDimensionize(), and full_dimensionize(). |
|
permutes the variables of the constraints of a polyhedron
Definition at line 68 of file matrix_permutations.c. References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and value_assign. Referenced by full_dimensionize(). |
|
Given a linear tranformation on initial variables, and a variable permutation, computes the tranformation for the permuted variables. perm is a vector giving the new "position of the k^th variable, k [1..n] we can call it a "permutation vector" if you wish transf[x][y] -> permuted[permutation(x)][permutation(y)] Definition at line 49 of file matrix_permutations.c. References assert, Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and value_assign. |
|
Permutations on matrices Matrices are seen either as transformations (mtransformation) or as polyhedra (mpolyhedron or Constraints).
Definition at line 19 of file matrix_permutations.c. Referenced by eliminable_vars(). |
|
computes the permutation of variables and parameters, according to some variables to keep. put the variables not to be kept at the beginning, then the parameters and finally the variables to be kept. strongly related to the function compress_to_full_dim2 Definition at line 239 of file matrix_permutations.c. |
|
Gives the inverse permutation vector of a permutation vector.
Definition at line 34 of file matrix_permutations.c. |