How to best input and work with matrices over GF2 in GAP?

177 Views Asked by At

I am working on a problem where I have a group of matrices and a vector space of vectors, and I am looking to calculate the orbits of said group upon said vector space with GAP. Right now, I have each matrix and vector over $\mathbb{F}_2$ such that each element is $0$ or $1$, but GAP thinks that these are really operating in $\mathbb{Q}$. For instance, if I multiply two matrices such that an element should be $2 \equiv 0$, it just lets it be $2$. Of course, I could just mod each element of every vector and matrix by $2$, but this would not allow me to use the GAP functions like Orbits.

I want to be able to convert these matrices into a form where GAP recognizes that they are over $\mathbb{F}_2$ and has no problem determining orbits, stabilizers, and general actions naturally. I tried to multiply them by $Z(2)$ as I had seen done online, but GAP did not seem to do what I wanted with this—it failed to recognize that my matrix group is closed under multiplication, and said "no method found" when I tried to compute orbits.

I tried to look at the documentation for matrices over finite fields in GAP, but I couldn't get it to work. Thank you!

1

There are 1 best solutions below

0
On

You can multiply a matrix of integers by Z(2), for example:

gap> e:=One(GF(2));
Z(2)^0
gap> m1:=[[1,1],[0,1]]*e;
[ [ Z(2)^0, Z(2)^0 ], [ 0*Z(2), Z(2)^0 ] ]
gap> m2:=[[1,0],[1,1]]*e;
[ [ Z(2)^0, 0*Z(2) ], [ Z(2)^0, Z(2)^0 ] ]
gap> G:=Group(m1,m2);
Group([ <an immutable 2x2 matrix over GF2>, <an immutable 2x2 matrix over GF2> ])
gap> Size(G);
6

If you have tried something similar and it didn't work, please provide more details.