NullSpace of sparse matrix over GFq.
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 < 3 || 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;
}
Dense matrix representation.
Definition blas-matrix.h:62
size_t rowdim() const
Get the number of rows in the matrix.
Definition blas-matrix.h:233
size_t coldim() const
Get the number of columns in the matrix.
Definition blas-matrix.h:238
std::ostream & write(std::ostream &os, Tag::FileFormat f=Tag::FileFormat::MatrixMarket) const
Write the matrix to an output stream.
Definition blas-matrix.inl:301
Repository of functions for rank by elimination on sparse matrices.
Definition gauss.h:69
Block & nullspacebasisin(Block &x, _Matrix &A) const
Sparse in place Gaussian elimination with reordering to reduce fill-in.
Definition gauss-nullspace.inl:99
int main()
no command line args
Definition ex-fields-archetype.C:70
Gauss elimination and applications for sparse matrices.
Namespace in which all linbox code resides.
Definition alt-blackbox-block-container.h:4