polylib 5.22.8
Matop.c File Reference
#include <polylib/polylib.h>
#include <stdlib.h>

Go to the source code of this file.

Functions

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

Function Documentation

◆ AddANullColumn()

Matrix * AddANullColumn ( Matrix M)

◆ AddANullRow()

Matrix * AddANullRow ( Matrix M)

◆ ExchangeColumns()

void ExchangeColumns ( Matrix M,
int  Column1,
int  Column2 
)

Definition at line 70 of file Matop.c.

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

◆ ExchangeRows()

void ExchangeRows ( Matrix M,
int  Row1,
int  Row2 
)

Definition at line 52 of file Matop.c.

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

Referenced by Constraints2Polyhedron(), and RearrangeMatforSolveDio().

◆ findHermiteBasis()

◆ Identity()

Matrix * Identity ( unsigned  size)

◆ isinHnf()

◆ isIntegral()

Bool isIntegral ( Matrix A)

◆ Lcm()

Value * Lcm ( Value  i,
Value  j 
)

Definition at line 27 of file Matop.c.

References Lcm3(), and value_init.

◆ Lcm3()

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_Copy()

◆ PutColumnFirst()

void PutColumnFirst ( Matrix X,
int  Columnnumber 
)

Definition at line 212 of file Matop.c.

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

Referenced by Homogenise().

◆ PutColumnLast()

void PutColumnLast ( Matrix X,
int  Columnnumber 
)

Definition at line 231 of file Matop.c.

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

Referenced by Homogenise().

◆ PutRowFirst()

void PutRowFirst ( Matrix X,
int  Rownumber 
)

Definition at line 192 of file Matop.c.

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

Referenced by Homogenise().

◆ PutRowLast()

void PutRowLast ( Matrix X,
int  Rownumber 
)

Definition at line 170 of file Matop.c.

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

Referenced by Homogenise().

◆ RemoveColumn()

Matrix * RemoveColumn ( Matrix M,
int  Columnnumber 
)

Definition at line 323 of file Matop.c.

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

Referenced by FindHermiteBasisofDomain().

◆ RemoveNColumns()

Matrix * RemoveNColumns ( Matrix M,
int  FirstColumnnumber,
int  NumColumns 
)

Definition at line 304 of file Matop.c.

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

◆ RemoveRow()

Matrix * RemoveRow ( Matrix M,
int  Rownumber 
)

Definition at line 285 of file Matop.c.

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

Referenced by findHermiteBasis().

◆ Transpose()

Matrix * Transpose ( Matrix A)