24 matrix =
new unsigned long *[
n];
25 for(
unsigned long i = 0;
i <
n;
i++)
27 matrix[
i] =
new unsigned long[2 *
n + 1];
30 tmprow =
new unsigned long[2 *
n + 1];
39 for(
unsigned long i = 0;
i <
n;
i++)
53 for(
unsigned long i = 0;
i <
n;
i++)
62 for(
unsigned long i = 0;
i <
rows;
i++)
70 for(
unsigned j = piv;
j <
n +
rows + 1;
j++)
92 for(
unsigned long j =
i + 1;
j < 2 *
n + 1;
j++)
100 for(
unsigned long i = 0;
i <
n;
i++)
115 for(
unsigned long i = 0;
i <=
n;
i++)
126 for(
unsigned long i = 0;
i < 2 *
n + 1;
i++)
144 out <<
"Pivots: " << std::endl;
145 for(
int j = 0;
j <
mat.n;
j++)
150 out <<
"matrix:" << std::endl;
151 for(
int i = 0;
i <
mat.rows;
i++)
153 for(
int j = 0;
j <
mat.n;
j++)
164 out <<
"tmprow: " << std::endl;
165 for(
int j = 0;
j <
mat.n;
j++)
186 matrix =
new unsigned long *[
n];
187 for(
unsigned long i = 0;
i <
n;
i++)
196 for (
unsigned long i = 0;
i <
n;
i++)
209 for(
unsigned long i = 0;
i <
n;
i++)
218 for(
unsigned long i = 0;
i <
n;
i++)
230 for(
unsigned long j =
i + 1;
j <
n;
j++)
238 for(
unsigned long i = 0;
i <
rows;
i++)
241 unsigned x = row[piv];
280 for(
unsigned long i = 0;
i <
n;
i++)
286 for (
unsigned long i = 0;
i <
rows;
i++)
293 for (
unsigned long j = piv;
j <
n;
j++)
312 for (
unsigned long i = 0;
i <
n-
rows;
i++)
317 for (
unsigned long j =
i;
j <
n-
rows-1;
j++)
333 for(
unsigned i = 0;
i <
mat.rows;
i++)
346 for(
unsigned long i = 0;
i <
n;
i++)
348 bool isPivot =
false;
349 for(
unsigned j = 0;
j <
rows;
j++)
372 for(
unsigned long i =
n-1;
i >= 0;
i--)
374 bool isPivot =
false;
375 for(
unsigned j = 0;
j <
rows;
j++)
395 unsigned long *
result,
unsigned n,
unsigned long p)
399 for(
unsigned long i = 0;
i < n;
i++)
418 for(
int i = 0;
i < n;
i++)
420 std::cout <<
vec[
i] <<
", ";
423 std::cout << std::endl;
434 unsigned long *
result =
new unsigned long[n + 1];
435 unsigned long *
mpvec =
new unsigned long[n + 1];
436 unsigned long *
tmp =
new unsigned long[n + 1];
439 for(
unsigned long i = 0;
i <= n;
i++)
452 for (
unsigned long i = 0;
i < n;
i++)
456 for (
unsigned long j = 0;
j < n;
j++)
468 unsigned long *
vec =
new unsigned long[n];
469 unsigned long *
vecnew =
new unsigned long[n];
474 for(
unsigned long j = 0;
j < n;
j++)
518 for(
unsigned long j = 0;
j <= n;
j++)
555 for (
unsigned long i = 0;
i < n;
i++)
572void rem (
unsigned long *a,
unsigned long *q,
unsigned long p,
int &
dega,
597void quo (
unsigned long *a,
unsigned long *q,
unsigned long p,
int &
dega,
647void mult (
unsigned long *
result,
unsigned long *a,
unsigned long *
b,
666int gcd (
unsigned long *
g,
unsigned long *a,
unsigned long *
b,
669 unsigned long *
tmp1 =
new unsigned long[
dega + 1];
670 unsigned long *
tmp2 =
new unsigned long[
degb + 1];
709int lcm (
unsigned long *
l,
unsigned long *a,
unsigned long *
b,
712 unsigned long *
g =
new unsigned long[
dega + 1];
753 long long q, t1, t2,
t3;
773 return (
unsigned long)
u1;
bool findLinearDependency(unsigned long *newRow, unsigned long *dep)
void normalizeTmp(unsigned i)
int firstNonzeroEntry(unsigned long *row)
LinearDependencyMatrix(unsigned n, unsigned long p)
~LinearDependencyMatrix()
void normalizeRow(unsigned long *row, unsigned i)
NewVectorMatrix(unsigned n, unsigned long p)
void insertRow(unsigned long *row)
int findLargestNonpivot()
void insertMatrix(LinearDependencyMatrix &mat)
int firstNonzeroEntry(unsigned long *row)
int findSmallestNonpivot()
void mult(unsigned long *result, unsigned long *a, unsigned long *b, unsigned long p, int dega, int degb)
void quo(unsigned long *a, unsigned long *q, unsigned long p, int °a, int degq)
unsigned long modularInverse(long long x, long long p)
unsigned long * computeMinimalPolynomial(unsigned long **matrix, unsigned n, unsigned long p)
void vectorMatrixMult(unsigned long *vec, unsigned long **mat, unsigned **nonzeroIndices, unsigned *nonzeroCounts, unsigned long *result, unsigned n, unsigned long p)
int gcd(unsigned long *g, unsigned long *a, unsigned long *b, unsigned long p, int dega, int degb)
int lcm(unsigned long *l, unsigned long *a, unsigned long *b, unsigned long p, int dega, int degb)
void rem(unsigned long *a, unsigned long *q, unsigned long p, int °a, int degq)
unsigned long modularInverse(long long x, long long p)
static unsigned long multMod(unsigned long a, unsigned long b, unsigned long p)
ostream & operator<<(ostream &s, const spectrum &spec)