NullSpace of sparse matrix over GFq.nullspace is allocated m \times n.
#include <iostream>
#include <givaro/gfq.h>
int main (int argc, char **argv)
{
if ( argc < 2 || argc > 4) {
std::cerr << "Usage to get a random null space basis over GF(p,k): <matrix-file-in-SMS-format> p [k]" << std::endl;
return -1;
}
std::ifstream input (argv[1]);
if (!input) { std::cerr << "Error opening matrix file " << argv[1] << std::endl; return -1; }
typedef Givaro::GFqDom<int64_t> Field;
Field F(atoi(argv[2]),argc>3?atoi(argv[3]):1);
SparseMatrix<Field, SparseMatrixFormat::SparseSeq > B (F);
B.read (input);
std::cout << "B is " << B.rowdim() << " by " << B.coldim() << std::endl;
NullSpace.
write( std::cerr <<
"X:=", Tag::FileFormat::Maple ) <<
';' << std::endl;
std::cerr <<
"NullsSpace dimensions:" << NullSpace.
rowdim() <<
'x' << NullSpace.
coldim() << std::endl;
return 0;
}
Block & nullspacebasisin(Block &x, _Matrix &A) const
Sparse in place Gaussian elimination with reordering to reduce fill-in.
Definition: gauss-nullspace.inl:99