I'm trying to use ModularSolution, which is supposed to compute a (with high probability nonzero) vector in the kernel of a matrix. However, on all examples I've tried, it actually gives me the zero vector. The most trivial example is
- Code: Select all
> spm := SparseMatrix(Integers(),4,3);
> SetEntry(~spm,1,1,1);
> SetEntry(~spm,2,2,1);
> SetEntry(~spm,3,3,1);
> Matrix(spm);
[1 0 0]
[0 1 0]
[0 0 1]
[0 0 0]
> ModularSolution(Transpose(spm),2);
(0 0 0 0)
> ModularSolution(Transpose(spm),2);
(0 0 0 0)
> ModularSolution(Transpose(spm),2);
(0 0 0 0)
> ModularSolution(Transpose(spm),2);
(0 0 0 0)
> ModularSolution(Transpose(spm),2);
(0 0 0 0)
> ModularSolution(Transpose(spm),2);
(0 0 0 0)
Why isn't this giving me something like (0 0 0 1)?
Thanks to anyone who can help!
