polylib 7.01
matrix.h File Reference

Go to the source code of this file.

Functions

MatrixMatrix_Alloc (unsigned NbRows, unsigned NbColumns)
 
void Matrix_Free (Matrix *Mat)
 
void Matrix_Extend (Matrix *Mat, unsigned NbRows)
 
void Matrix_Print (FILE *Dst, const char *Format, Matrix *Mat)
 
MatrixMatrix_Read_Input (Matrix *Mat)
 
MatrixMatrix_Read_InputFile (Matrix *Mat, FILE *fp)
 
MatrixMatrix_Read (void)
 
MatrixMatrix_ReadFile (FILE *fp)
 
void right_hermite (Matrix *A, Matrix **Hp, Matrix **Up, Matrix **Qp)
 
void left_hermite (Matrix *A, Matrix **Hp, Matrix **Qp, Matrix **Up)
 
int MatInverse (Matrix *M, Matrix *MInv)
 
void rat_prodmat (Matrix *S, Matrix *X, Matrix *P)
 
void Matrix_Vector_Product (Matrix *mat, Value *p1, Value *p2)
 
void Vector_Matrix_Product (Value *p1, Matrix *mat, Value *p2)
 
void Matrix_Product (Matrix *mat1, Matrix *mat2, Matrix *mat3)
 
int Matrix_Inverse (Matrix *Mat, Matrix *MatInv)
 

Function Documentation

◆ left_hermite()

◆ MatInverse()

◆ Matrix_Alloc()

Matrix * Matrix_Alloc ( unsigned  NbRows,
unsigned  NbColumns 
)

Definition at line 24 of file matrix.c.

References errormsg1(), matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, matrix::p_Init_size, and value_alloc().

Referenced by AddANullColumn(), AddANullRow(), AddConstraints(), AddRays(), affine_periods(), bound_polyhedron(), CalcBase(), ChangeLatticeDimension(), ComputeNPLinesRays(), Constraints2Polyhedron(), Constraints_fullDimensionize(), Constraints_permute(), Constraints_Remove_parm_eqs(), Constraints_removeElimCols(), ConvertDarMattoPolMat(), dehomogenize_polyhedron(), domain_project(), DomainSimplify(), Elim_Columns(), eliminable_vars(), EmptyLattice(), EmptyLBL(), Enumeration_zero(), Equalities_integerSolution(), Equalities_intModBasis(), ExtractLinearPart(), Find_m_faces(), FindSimple(), full_dimensionize(), GenParamPolyhedron(), GenPoly(), get_equalities(), Identity(), Identity_Matrix(), int_ker(), Lattice2LatticeUnion(), Lattice_extractSubLattice(), LatticeDifference(), LatticeIntersection(), LBLSimplify(), left_hermite(), LexSmaller(), linearInter(), main(), Matrix_Copy(), Matrix_ReadFile(), Matrix_subMatrix(), mpolyhedron_compress_last_vars(), mpolyhedron_permute(), mtransformation_inverse(), mtransformation_permute(), old_Polyhedron_Preprocess(), Orthogonal_Base(), P_Enum(), Param_Polyhedron_Scale_Integer(), Polyhedron2Constraints(), Polyhedron2Rays(), polyhedron_dark_source(), Polyhedron_Image(), Polyhedron_Image_Enumerate(), Polyhedron_Preimage(), Polyhedron_Preprocess(), Polyhedron_Preprocess2(), Polyhedron_Scan(), PolyhedronLTQ(), PreElim_Columns(), Rays2Polyhedron(), Recession_Cone(), RemoveColumn(), RemoveNColumns(), RemoveRow(), right_hermite(), SimplifyConstraints(), SimplifyEqualities(), sLBLCompute_holes(), sLBLImage(), sLBLIntersection(), sLBLMake_lattice_equal_to(), sLBLPreimage(), sLBLSimplify_equalities(), split_constraints(), Stras_DomainSimplify(), SubConstraint(), test_Constraints_fullDimensionize(), traite_m_face(), Transpose(), Union_Read(), valuesWithoutElim(), and VertexCT().

◆ Matrix_Extend()

void Matrix_Extend ( Matrix Mat,
unsigned  NbRows 
)

◆ Matrix_Free()

void Matrix_Free ( Matrix Mat)

Definition at line 69 of file matrix.c.

References matrix::p, matrix::p_Init, matrix::p_Init_size, and value_free().

Referenced by AddConstraints(), AddLattice(), AddRays(), bound_polyhedron(), CanonicalLBL(), Constraints2Polyhedron(), Constraints_fullDimensionize(), Constraints_Remove_parm_eqs(), dehomogenize_polyhedron(), domain_project(), DomainSimplify(), Ehrhart_Quick_Apx(), Elim_Columns(), eliminable_vars(), Enumeration_zero(), Equalities_integerSolution(), Equalities_intModBasis(), Equalities_validityLattice(), Find_m_faces(), FindSimple(), full_dimensionize(), generate_lattice_union_row(), GenPoly(), Hermite(), homogenize(), int_ker(), Lattice2LatticeUnion(), Lattice_extractSubLattice(), LatticeDifference(), LatticeIncluded(), LatticeIncludes(), LatticeIntersection(), LatticeUnion_Free(), LBL_Remove_Empty(), LBLSimplify(), left_hermite(), LexSmaller(), linearInter(), main(), Matrix_ReadFile(), mpolyhedron_compress_last_vars(), mtransformation_inverse(), old_Polyhedron_Preprocess(), P_Enum(), Param_Polyhedron_Free(), Param_Polyhedron_Scale_Integer(), Param_Vertices_Free(), polyhedron_dark_source(), Polyhedron_Enumerate(), Polyhedron_Image(), Polyhedron_Image_Enumerate(), Polyhedron_Preimage(), Polyhedron_Preprocess(), Polyhedron_Preprocess2(), Polyhedron_Remove_parm_eqs(), Polyhedron_Scan(), PolyhedronLTQ(), Rays2Polyhedron(), Recession_Cone(), sameLattice(), Scan_Vertices(), Simplify(), SimplifyConstraints(), SimplifyEqualities(), sLBL2ZDomain(), sLBL_Lat_Normalize(), sLBL_Simplify_Zero_Dimensions(), sLBLCanonical(), sLBLComplement(), sLBLComplement2(), sLBLCompute_holes(), sLBLFree(), sLBLImage(), sLBLIntersection(), sLBLMake_lattice_equal_to(), sLBLPreimage(), sLBLSimplify_equalities(), Smith(), Stras_DomainSimplify(), SubConstraint(), test_Constraints_fullDimensionize(), test_Constraints_Remove_parm_eqs(), test_Polyhedron_Remove_parm_eqs(), and Union_Read().

◆ Matrix_Inverse()

◆ Matrix_Print()

◆ Matrix_Product()

◆ Matrix_Read()

Matrix * Matrix_Read ( void  )

Definition at line 218 of file matrix.c.

References Matrix_ReadFile().

Referenced by main(), and Union_Read().

◆ Matrix_Read_Input()

Matrix * Matrix_Read_Input ( Matrix Mat)

Definition at line 150 of file matrix.c.

References Matrix_Read_InputFile().

Referenced by Matrix_ReadFile(), and Union_Read().

◆ Matrix_Read_InputFile()

Matrix * Matrix_Read_InputFile ( Matrix Mat,
FILE *  fp 
)

Definition at line 157 of file matrix.c.

References errormsg1(), n, matrix::NbColumns, matrix::NbRows, matrix::p_Init, s, and value_read.

Referenced by Matrix_Read_Input().

◆ Matrix_ReadFile()

Matrix * Matrix_ReadFile ( FILE *  fp)

Definition at line 224 of file matrix.c.

References errormsg1(), Matrix_Alloc(), Matrix_Free(), Matrix_Read_Input(), and s.

Referenced by Matrix_Read().

◆ Matrix_Vector_Product()

void Matrix_Vector_Product ( Matrix mat,
Value p1,
Value p2 
)

Definition at line 820 of file matrix.c.

References matrix::NbColumns, matrix::NbRows, matrix::p, value_addmul, and value_multiply.

◆ rat_prodmat()

◆ right_hermite()

void right_hermite ( Matrix A,
Matrix **  Hp,
Matrix **  Up,
Matrix **  Qp 
)

◆ Vector_Matrix_Product()

void Vector_Matrix_Product ( Value p1,
Matrix mat,
Value p2 
)

Definition at line 852 of file matrix.c.

References matrix::NbColumns, matrix::NbRows, matrix::p, value_addmul, and value_multiply.