![]() |
#include <misc/auxiliary.h>
#include "bigintmat.h"
#include <misc/intvec.h>
#include "rmodulon.h"
#include <math.h>
#include <string.h>
Go to the source code of this file.
Macros | |
#define | swap(_i, _j) |
#define | MIN(a, b) (a < b ? a : b) |
Functions | |
static coeffs | numbercoeffs (number n, coeffs c) |
create Z/nA of type n_Zn More... | |
bool | operator== (const bigintmat &lhr, const bigintmat &rhr) |
bool | operator!= (const bigintmat &lhr, const bigintmat &rhr) |
bigintmat * | bimAdd (bigintmat *a, bigintmat *b) |
Matrix-Add/-Sub/-Mult so oder mit operator+/-/* ? : NULL as a result means an error (non-compatible matrices?) More... | |
bigintmat * | bimAdd (bigintmat *a, int b) |
bigintmat * | bimSub (bigintmat *a, bigintmat *b) |
bigintmat * | bimSub (bigintmat *a, int b) |
bigintmat * | bimMult (bigintmat *a, bigintmat *b) |
bigintmat * | bimMult (bigintmat *a, int b) |
bigintmat * | bimMult (bigintmat *a, number b, const coeffs cf) |
intvec * | bim2iv (bigintmat *b) |
bigintmat * | iv2bim (intvec *b, const coeffs C) |
bigintmat * | bimCopy (const bigintmat *b) |
same as copy constructor - apart from it being able to accept NULL as input More... | |
static int | intArrSum (int *a, int length) |
static int | findLongest (int *a, int length) |
static int | getShorter (int *a, int l, int j, int cols, int rows) |
bigintmat * | bimChangeCoeff (bigintmat *a, coeffs cnew) |
Liefert Kopier von Matrix a zurück, mit coeffs cnew statt den ursprünglichen. More... | |
void | bimMult (bigintmat *a, bigintmat *b, bigintmat *c) |
Multipliziert Matrix a und b und speichert Ergebnis in c. More... | |
static void | reduce_mod_howell (bigintmat *A, bigintmat *b, bigintmat *eps, bigintmat *x) |
static bigintmat * | prependIdentity (bigintmat *A) |
static number | bimFarey (bigintmat *A, number N, bigintmat *L) |
static number | solveAx_dixon (bigintmat *A, bigintmat *B, bigintmat *x, bigintmat *kern) |
static number | solveAx_howell (bigintmat *A, bigintmat *b, bigintmat *x, bigintmat *kern) |
number | solveAx (bigintmat *A, bigintmat *b, bigintmat *x) |
solve Ax=b*d. x needs to be pre-allocated to the same number of columns as b. the minimal denominator d is returned. Currently available for Z, Q and Z/nZ (and possibly for all fields: d=1 there) Beware that the internal functions can find the kernel as well - but the interface is lacking. More... | |
void | diagonalForm (bigintmat *A, bigintmat **S, bigintmat **T) |
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. More... | |
bool | nCoeffs_are_equal (coeffs r, coeffs s) |
#define swap | ( | _i, | |
_j | |||
) |
Definition at line 344 of file bigintmat.cc.
Matrix-Add/-Sub/-Mult so oder mit operator+/-/* ? : NULL as a result means an error (non-compatible matrices?)
Definition at line 183 of file bigintmat.cc.
Definition at line 200 of file bigintmat.cc.
Liefert Kopier von Matrix a zurück, mit coeffs cnew statt den ursprünglichen.
Definition at line 1814 of file bigintmat.cc.
same as copy constructor - apart from it being able to accept NULL as input
Definition at line 408 of file bigintmat.cc.
Definition at line 2058 of file bigintmat.cc.
Definition at line 256 of file bigintmat.cc.
Definition at line 304 of file bigintmat.cc.
Definition at line 323 of file bigintmat.cc.
Multipliziert Matrix a und b und speichert Ergebnis in c.
Definition at line 1942 of file bigintmat.cc.
Definition at line 219 of file bigintmat.cc.
Definition at line 237 of file bigintmat.cc.
Definition at line 2485 of file bigintmat.cc.
|
static |
Definition at line 540 of file bigintmat.cc.
|
static |
Definition at line 555 of file bigintmat.cc.
|
static |
Definition at line 532 of file bigintmat.cc.
Definition at line 352 of file bigintmat.cc.
a basis for the nullspace of a mod p: only used internally in Round2. Don't use it.
Definition at line 2610 of file bigintmat.cc.
Definition at line 2655 of file bigintmat.cc.
create Z/nA of type n_Zn
Definition at line 22 of file bigintmat.cc.
Definition at line 177 of file bigintmat.cc.
Definition at line 160 of file bigintmat.cc.
Definition at line 2046 of file bigintmat.cc.
|
static |
Definition at line 1960 of file bigintmat.cc.
solve Ax=b*d. x needs to be pre-allocated to the same number of columns as b. the minimal denominator d is returned. Currently available for Z, Q and Z/nZ (and possibly for all fields: d=1 there) Beware that the internal functions can find the kernel as well - but the interface is lacking.
Definition at line 2440 of file bigintmat.cc.
|
static |
Definition at line 2118 of file bigintmat.cc.
|
static |
Definition at line 2308 of file bigintmat.cc.