I sometimes get false results when I compute linear algebra stuff like basis_cols, rank, etc on matrix minors. This does not happen for all possible input, but I managed to find a small example that reliably produces a wrong result on my machine (polymake 2.10) as well as on the web version of polymake (which says it's 2.11):
Code: Select all
$m = new Matrix<Integer>([[0,0,1,0],[1,1,1,1],[0,0,0,1]]);
$i = new IncidenceMatrix([[0,2]]);
print basis_cols($m->minor($i->row(0),All));
# ->produces {2} instead of {2,3}
Similarly, if I write rank($m->minor...), I get 1 instead of 2. This doesn't change if I replace Integer by Rational and it happens on the perl side as well as on the c++ side (using similar code). If I do basis_cols(new Matrix(...)), the result is correct.