167 void vectorMatrixMult(
unsigned long*
vec,
unsigned long **mat,
unsigned **nonzeroIndices,
unsigned *nonzeroCounts,
unsigned long*
result,
unsigned n,
unsigned long p);
173 void rem(
unsigned long*
a,
unsigned long* q,
unsigned long p,
int & dega,
int degq);
179 void quo(
unsigned long*
a,
unsigned long* q,
unsigned long p,
int & dega,
int degq);
184 void mult(
unsigned long*
result,
unsigned long*
a,
unsigned long*
b,
unsigned long p,
int dega,
int degb);
191 int gcd(
unsigned long*
g,
unsigned long*
a,
unsigned long*
b,
unsigned long p,
int dega,
int degb);
199 int lcm(
unsigned long*
l,
unsigned long*
a,
unsigned long*
b,
unsigned long p,
int dega,
int degb);
204 static inline unsigned long multMod(
unsigned long a,
unsigned long b,
unsigned long p)
207 #define ULONG64 (unsigned long long) 209 #define ULONG64 (unsigned long)
LinearDependencyMatrix(unsigned n, unsigned long p)
unsigned long modularInverse(long long x, long long p)
void normalizeTmp(unsigned i)
static unsigned long multMod(unsigned long a, unsigned long b, unsigned long p)
void vectorMatrixMult(unsigned long *vec, unsigned long **mat, unsigned **nonzeroIndices, unsigned *nonzeroCounts, unsigned long *result, unsigned n, unsigned long p)
void mult(unsigned long *result, unsigned long *a, unsigned long *b, unsigned long p, int dega, int degb)
bool findLinearDependency(unsigned long *newRow, unsigned long *dep)
void rem(unsigned long *a, unsigned long *q, unsigned long p, int °a, int degq)
~LinearDependencyMatrix()
void normalizeRow(unsigned long *row, unsigned i)
void insertMatrix(LinearDependencyMatrix &mat)
NewVectorMatrix(unsigned n, unsigned long p)
int gcd(unsigned long *g, unsigned long *a, unsigned long *b, unsigned long p, int dega, int degb)
void insertRow(unsigned long *row)
void quo(unsigned long *a, unsigned long *q, unsigned long p, int °a, int degq)
unsigned long * computeMinimalPolynomial(unsigned long **matrix, unsigned n, unsigned long p)
int firstNonzeroEntry(unsigned long *row)
int findLargestNonpivot()
int findSmallestNonpivot()
int lcm(unsigned long *l, unsigned long *a, unsigned long *b, unsigned long p, int dega, int degb)
int firstNonzeroEntry(unsigned long *row)