Main Page | Class List | File List | Class Members | File Members

Matop.h File Reference

Go to the source code of this file.

Functions

void Lcm3 (Value a, Value b, Value *c)
MatrixAddANullColumn (Matrix *M)
MatrixAddANullRow (Matrix *M)
void ExchangeColumns (Matrix *M, int Column1, int Column2)
void ExchangeRows (Matrix *M, int Row1, int Row2)
int findHermiteBasis (Matrix *M, Matrix **Result)
MatrixIdentity (unsigned size)
Bool isinHnf (Matrix *A)
Bool isIntegral (Matrix *A)
Value * Lcm (Value i, Value j)
MatrixMatrix_Copy (Matrix const *Src)
void PutColumnFirst (Matrix *X, int Columnnumber)
void PutColumnLast (Matrix *X, int Columnnumber)
void PutRowFirst (Matrix *X, int Rownumber)
void PutRowLast (Matrix *X, int Rownumber)
MatrixRemoveNColumns (Matrix *M, int FirstColumnnumber, int NumColumns)
MatrixRemoveColumn (Matrix *M, int Columnnumber)
MatrixRemoveRow (Matrix *M, int Rownumber)
MatrixTranspose (Matrix *A)


Function Documentation

Matrix* AddANullColumn Matrix M  ) 
 

Definition at line 269 of file Matop.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, and value_set_si.

Referenced by findHermiteBasis(), homogenize(), and main().

Matrix* AddANullRow Matrix M  ) 
 

Definition at line 251 of file Matop.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, and value_set_si.

Referenced by findHermiteBasis(), and RearrangeMatforSolveDio().

void ExchangeColumns Matrix M,
int  Column1,
int  Column2
 

Definition at line 73 of file Matop.c.

References Matrix, matrix::NbRows, matrix::p, and value_swap.

void ExchangeRows Matrix M,
int  Row1,
int  Row2
 

Definition at line 55 of file Matop.c.

References Matrix, matrix::NbColumns, matrix::p, value_assign, value_clear, and value_init.

Referenced by Constraints2Polyhedron(), and RearrangeMatforSolveDio().

int findHermiteBasis Matrix M,
Matrix **  Result
 

Definition at line 344 of file Matop.c.

References AddANullColumn(), AddANullRow(), Hermite(), Identity(), Matrix, Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, matrix::p, RemoveRow(), SolveDiophantine(), Transpose(), value_assign, value_notzero_p, value_zero_p, and Vector_Free().

Referenced by FindHermiteBasisofDomain().

Matrix* Identity unsigned  size  ) 
 

Definition at line 41 of file Matop.c.

References Matrix, Matrix_Alloc(), matrix::p, size, and value_set_si.

Referenced by CanonicalForm(), findHermiteBasis(), FindHermiteBasisofDomain(), IntegraliseLattice(), and Smith().

Bool isinHnf Matrix A  ) 
 

Definition at line 140 of file Matop.c.

References Bool, False, Homogenise(), Matrix, Matrix_Free(), matrix::NbColumns, matrix::NbRows, matrix::p, True, value_assign, value_clear, value_ge, value_init, and value_notzero_p.

Referenced by LatticeDifference(), LatticeIntersection(), and SplitZpolyhedron().

Bool isIntegral Matrix A  ) 
 

Definition at line 117 of file Matop.c.

References Bool, False, Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, True, value_assign, value_clear, value_init, value_modulus, and value_notzero_p.

Value* Lcm Value  i,
Value  j
 

Definition at line 28 of file Matop.c.

References Lcm3(), and value_init.

void Lcm3 Value  a,
Value  b,
Value *  c
 

Definition at line 5 of file Matop.c.

References Gcd(), value_absolute, value_assign, value_clear, value_division, value_init, value_multiply, and value_zero_p.

Referenced by Lcm().

Matrix* Matrix_Copy Matrix const *  Src  ) 
 

Definition at line 101 of file Matop.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and value_assign.

Referenced by AddLattice(), AffineHermite(), AffineSmith(), CanonicalForm(), Constraints_EhrhartQuickApx(), eliminable_vars(), findHermiteBasis(), FindHermiteBasisofDomain(), Hermite(), Homogenise(), Lattice2LatticeUnion(), Lattice_extractSubLattice(), LatticeDifference(), LatticeImage(), LatticeIntersection(), LexSmaller(), main(), mtransformation_inverse(), Polyhedron_Image(), Polyhedron_Image_Enumerate(), RearrangeMatforSolveDio(), Simplify(), Smith(), SolveDiophantine(), SplitZpolyhedron(), test_Constraints_fullDimensionize(), test_Constraints_Remove_parm_eqs(), test_Polyhedron_Remove_parm_eqs(), ZDomainSimplify(), and ZPolyhedron_Alloc().

void PutColumnFirst Matrix X,
int  Columnnumber
 

Definition at line 213 of file Matop.c.

References Matrix, matrix::NbRows, matrix::p, value_assign, value_clear, and value_init.

Referenced by Homogenise().

void PutColumnLast Matrix X,
int  Columnnumber
 

Definition at line 232 of file Matop.c.

References Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, and value_init.

Referenced by Homogenise().

void PutRowFirst Matrix X,
int  Rownumber
 

Definition at line 193 of file Matop.c.

References Matrix, matrix::NbColumns, matrix::p, value_assign, value_clear, and value_init.

Referenced by Homogenise().

void PutRowLast Matrix X,
int  Rownumber
 

Definition at line 171 of file Matop.c.

References Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, and value_init.

Referenced by Homogenise().

Matrix* RemoveColumn Matrix M,
int  Columnnumber
 

Definition at line 323 of file Matop.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and Vector_Copy().

Referenced by FindHermiteBasisofDomain().

Matrix* RemoveNColumns Matrix M,
int  FirstColumnnumber,
int  NumColumns
 

Definition at line 305 of file Matop.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and Vector_Copy().

Matrix* RemoveRow Matrix M,
int  Rownumber
 

Definition at line 286 of file Matop.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and Vector_Copy().

Referenced by findHermiteBasis().

Matrix* Transpose Matrix A  ) 
 

Definition at line 86 of file Matop.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and value_assign.

Referenced by findHermiteBasis(), Hermite(), and Polyhedron_Image_Enumerate().


Generated on Thu Sep 4 15:28:59 2008 for polylib by doxygen 1.3.5