![]() |
My Project
|
#include "misc/auxiliary.h"
#include "coeffs/bigintmat.h"
#include "misc/intvec.h"
#include "coeffs/rmodulon.h"
#include <cmath>
Go to the source code of this file.
Macros | |
#define | swap(_i, _j) |
#define | MIN(a, b) |
Functions | |
static coeffs | numbercoeffs (number n, coeffs c) |
create Z/nA of type n_Zn | |
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+/-/* ? @Note: NULL as a result means an error (non-compatible matrices?) | |
bigintmat * | bimAdd (bigintmat *a, long b) |
bigintmat * | bimSub (bigintmat *a, bigintmat *b) |
bigintmat * | bimSub (bigintmat *a, long b) |
bigintmat * | bimMult (bigintmat *a, bigintmat *b) |
bigintmat * | bimMult (bigintmat *a, long 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 | |
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. | |
void | bimMult (bigintmat *a, bigintmat *b, bigintmat *c) |
Multipliziert Matrix a und b und speichert Ergebnis in c. | |
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. | |
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. | |
bool | nCoeffs_are_equal (coeffs r, coeffs s) |
#define MIN | ( | a, | |
b ) |
#define swap | ( | _i, | |
_j ) |
Definition at line 339 of file bigintmat.cc.
Matrix-Add/-Sub/-Mult so oder mit operator+/-/* ? @Note: NULL as a result means an error (non-compatible matrices?)
Definition at line 180 of file bigintmat.cc.
Definition at line 197 of file bigintmat.cc.
Liefert Kopier von Matrix a zurück, mit coeffs cnew statt den ursprünglichen.
Definition at line 1797 of file bigintmat.cc.
Definition at line 2038 of file bigintmat.cc.
Definition at line 253 of file bigintmat.cc.
Multipliziert Matrix a und b und speichert Ergebnis in c.
Definition at line 1922 of file bigintmat.cc.
Definition at line 299 of file bigintmat.cc.
Definition at line 318 of file bigintmat.cc.
Definition at line 216 of file bigintmat.cc.
Definition at line 234 of file bigintmat.cc.
Definition at line 2461 of file bigintmat.cc.
|
static |
Definition at line 531 of file bigintmat.cc.
|
static |
Definition at line 546 of file bigintmat.cc.
|
static |
a basis for the nullspace of a mod p: only used internally in Round2. Don't use it.
Definition at line 2585 of file bigintmat.cc.
Definition at line 2629 of file bigintmat.cc.
create Z/nA of type n_Zn
Definition at line 20 of file bigintmat.cc.
Definition at line 174 of file bigintmat.cc.
Definition at line 157 of file bigintmat.cc.
Definition at line 2026 of file bigintmat.cc.
|
static |
Definition at line 1940 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 2418 of file bigintmat.cc.
|
static |
Definition at line 2097 of file bigintmat.cc.
|
static |
Definition at line 2286 of file bigintmat.cc.