481 for (
int i=1;
i<=n;
i++) {
510 for (
int i=1;
i<=n;
i++) {
515 for (
int i=1;
i<=kdim;
i++) {
516 kbase->getcol(
i, bas);
525 for (
int i=1;
i<=n;
i++) {
527 nbase->setcol(i, tmp);
static FORCE_INLINE BOOLEAN n_Greater(number a, number b, const coeffs r)
ordered fields: TRUE iff 'a' is larger than 'b'; in Z/pZ: TRUE iff la > lb, where la and lb are the l...
bigintmat * traceMatrix()
void setcol(int j, bigintmat *m)
Setzt j-te Spalte gleich übergebenem Vektor (Matrix) m.
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
int kernbase(bigintmat *a, bigintmat *c, number p, coeffs q)
a basis for the nullspace of a mod p: only used internally in Round2. Don't use it.
static FORCE_INLINE number n_Mult(number a, number b, const coeffs r)
return the product of 'a' and 'b', i.e., a*b
static FORCE_INLINE number n_Add(number a, number b, const coeffs r)
return the sum of 'a' and 'b', i.e., a+b
bool skalmult(number b, coeffs c)
Multipliziert zur Matrix den Skalar b hinzu.
void hnf()
transforms INPLACE to HNF
void elMult(bigintmat *a, bigintmat *b)
void getcol(int j, bigintmat *a)
copies the j-th column into the matrix a - which needs to be pre-allocated with the correct size...
coeffs basecoeffs() const
void basis_elt(bigintmat *m, int i)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'