polylib 7.01
Lattice.h
Go to the documentation of this file.
1#ifndef _Lattice_h_
2#define _Lattice_h_
3
4#if defined(__cplusplus)
5extern "C" {
6#endif
7
8extern void AffineHermite(Matrix *A, Matrix **H, Matrix **U);
9extern Bool isEmptyLattice(Matrix *A);
11extern void LatticeUnion_Free(LatticeUnion *Head);
13extern Bool LatticeIncluded(Matrix *A, Matrix *B); // True if A \in B
15extern void PrintLatticeUnion(FILE *fp, char *format, LatticeUnion *Head);
16extern int LatCountZeroCols(Matrix* M);
17extern Bool isEqualLattice(Matrix *A, Matrix *B); // exact equality
18extern Bool isSameLatticeSpace(Matrix *A, Matrix *B); // spread the same points
21extern Bool isNormalLattice(Matrix *A);
22
23// removed:
24// extern void AffineSmith(Matrix *A, Matrix **U, Matrix **V, Matrix **Diag);
25// extern LatticeUnion *LatticeSimplify(LatticeUnion *latlist);
26
27#if defined(__cplusplus)
28}
29#endif
30
31#endif /* _Lattice_h_ */
LatticeUnion * LatticeUnion_Alloc(void)
Definition: Lattice.c:43
LatticeUnion * LatticeDifference(Matrix *A, Matrix *B)
Definition: Lattice.c:423
void Matrix_Move_Homogeneous_Dim_First(Matrix *A)
Definition: Lattice.c:71
int LatCountZeroCols(Matrix *M)
Definition: Lattice.c:312
Bool isSameLatticeSpace(Matrix *A, Matrix *B)
Definition: Lattice.c:356
Bool isEqualLattice(Matrix *A, Matrix *B)
Definition: Lattice.c:394
void AffineHermite(Matrix *A, Matrix **H, Matrix **U)
Definition: Lattice.c:221
Bool isNormalLattice(Matrix *A)
Definition: Lattice.c:136
void LatticeUnion_Free(LatticeUnion *Head)
Definition: Lattice.c:29
Bool isEmptyLattice(Matrix *A)
Definition: Lattice.c:57
Bool LatticeIncluded(Matrix *A, Matrix *B)
Definition: Lattice.c:336
void PrintLatticeUnion(FILE *fp, char *format, LatticeUnion *Head)
Definition: Lattice.c:16
void Matrix_Move_Homogeneous_Dim_Last(Matrix *A)
Definition: Lattice.c:107
Matrix * LatticeIntersection(Matrix *X, Matrix *Y)
Definition: Lattice.c:620
Definition: types.h:88
Bool
Definition: types.h:45