Also, GAP does not seem to be able to properly transpose sparse matrices over GF(2). I know that such matrices can be treated using a special compact representation. However, in my opinion this should not mean that the user must write a new code to deal with this case separately, especially when the program is expected to work over arbitrary fields.
gap> LoadPackage("gauss"); ──────────────────────────────────────────────────────────────── Loading Gauss 2017.06.14 (Extended Gauss functionality for GAP) by Simon Goertzen (http://wwwb.math.rwth-aachen.de/goertzen). Homepage: http://homalg-project.github.io/homalg_project/Gauss/ ──────────────────────────────────────────────────────────────── true gap> ring := GF(3);; gap> M:=SparseMatrix( 1, 1, [ [ 1 ] ], [ [ One(ring) ] ], ring );; gap> TransposedSparseMat(M); <a 1 x 1 sparse matrix over GF(3)> gap> ring := GF(2);; gap> M:=SparseMatrix( 1, 1, [ [ 1 ] ], [ [ One(ring) ] ], ring );; gap> TransposedSparseMat(M); Error, Record: '<rec>.entries' must have an assigned value in Add( T!.entries[M!.indices[i][j]], M!.entries[i][j] ); at /usr/local/lib/gap4r8/pkg/Gauss-2017.06.14/gap/SparseMatrix.gi:495 called from <function "unknown">( <arguments> ) called from read-eval loop at line 237 of *stdin* you can 'return;' after assigning a value brk> _______________________________________________ Forum mailing list Forum@gap-system.org https://mail.gap-system.org/mailman/listinfo/forum