|
polylib 7.01
|
#include <ctype.h>#include <polylib/polylib.h>#include <stdio.h>#include <stdlib.h>#include <string.h>Go to the source code of this file.
Functions | |
| Matrix * | Matrix_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) |
| Matrix * | Matrix_Read_Input (Matrix *Mat) |
| Matrix * | Matrix_Read_InputFile (Matrix *Mat, FILE *fp) |
| Matrix * | Matrix_Read (void) |
| Matrix * | Matrix_ReadFile (FILE *fp) |
| static int | hermite (Matrix *H, Matrix *U, Matrix *Q) |
| 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 *Mat, Matrix *MatInv) |
| 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) |
Definition at line 254 of file matrix.c.
References errormsg1(), Matrix_Print(), matrix::NbColumns, matrix::NbRows, nr, matrix::p, value_absolute, value_addmul, value_assign, value_clear, value_decrement, value_division, value_init, value_lt, value_modulus, value_multiply, value_neg_p, value_notzero_p, value_oppose, value_subtract, value_zero_p, and Vector_Exchange().
Referenced by left_hermite(), and right_hermite().
Definition at line 523 of file matrix.c.
References errormsg1(), hermite(), Matrix_Alloc(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, nr, matrix::p, matrix::p_Init, value_assign, value_clear, value_init, value_set_si, and Vector_Set().
Referenced by AffineHermite(), Equalities_integerSolution(), Equalities_validityLattice(), int_ker(), Lattice2LatticeUnion(), Lattice_extractSubLattice(), LatticeIntersection(), linearInter(), main(), sLBL_Lat_Normalize(), and sLBLSimplify_equalities().
Definition at line 611 of file matrix.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, value_divexact, value_gcd, value_init, value_multiply, value_notone_p, value_notzero_p, value_set_si, value_subtract, value_zero_p, Vector_Gcd(), Vector_Normalize_Positive(), and Vector_Set().
Referenced by Equalities_integerSolution(), mtransformation_inverse(), test_Constraints_fullDimensionize(), and traite_m_face().
| 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().
| void Matrix_Extend | ( | Matrix * | Mat, |
| unsigned | NbRows | ||
| ) |
Definition at line 84 of file matrix.c.
References errormsg1(), matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, matrix::p_Init_size, value_init, and Vector_Set().
Referenced by Chernikova().
| 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().
Definition at line 925 of file matrix.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, value_divexact, value_division, value_gcd, value_init, value_multiply, value_neg_p, value_notone_p, value_notzero_p, value_oppose, value_set_si, value_subtract, value_zero_p, Vector_Gcd(), and Vector_Set().
Referenced by Lattice2LatticeUnion(), Polyhedron_Image(), and sLBLPreimage().
| void Matrix_Print | ( | FILE * | Dst, |
| const char * | Format, | ||
| Matrix * | Mat | ||
| ) |
Definition at line 118 of file matrix.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, P_VALUE_FMT, and value_print.
Referenced by Chernikova(), ComputeNPLinesRays(), Constraints2Polyhedron(), Elim_Columns(), Find_m_faces(), Gauss(), GenPoly(), hermite(), Lattice2LatticeUnion(), LatticeDifference(), LatticeIntersection(), main(), P_Enum(), polyhedron_dark_source(), Polyhedron_Image_Enumerate(), Polyhedron_Preprocess(), Polyhedron_Preprocess2(), PolyhedronLTQ(), PreElim_Columns(), PrintLatticeUnion(), Rays2Polyhedron(), Remove_Redundants(), scan_m_face(), sLBL_Lat_Normalize(), sLBLCanonical(), sLBLComplement(), sLBLIntersection(), sLBLMake_lattice_equal_to(), sLBLPrint(), sLBLSimplify_equalities(), and traite_m_face().
Definition at line 880 of file matrix.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, matrix::p_Init, value_addmul, value_assign, value_clear, value_init, and value_set_si.
Referenced by Equalities_integerSolution(), Lattice2LatticeUnion(), main(), sLBLImage(), sLBLPreimage(), and sLBLSimplify_equalities().
| Matrix * Matrix_Read | ( | void | ) |
Definition at line 218 of file matrix.c.
References Matrix_ReadFile().
Referenced by main(), and Union_Read().
Definition at line 150 of file matrix.c.
References Matrix_Read_InputFile().
Referenced by Matrix_ReadFile(), and Union_Read().
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 * 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().
Definition at line 820 of file matrix.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_addmul, and value_multiply.
Definition at line 749 of file matrix.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_addmul, value_assign, value_clear, value_divexact, value_division, value_gcd, value_init, value_multiply, value_one_p, value_set_si, and Vector_Normalize_Positive().
Referenced by traite_m_face().
Definition at line 448 of file matrix.c.
References errormsg1(), hermite(), Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, nr, matrix::p, matrix::p_Init, value_assign, value_clear, value_init, value_set_si, Vector_Copy(), and Vector_Set().
Referenced by eliminable_vars(), int_ker(), and main().
Definition at line 852 of file matrix.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_addmul, and value_multiply.