0
$\begingroup$

I want to create in MAGMA the subspace of the general linear group $\operatorname{GL}_n (\mathbb{F}_5)$ consisting of matrices with only entry $\in \{ 1, -1 \}$ in each row and column and all other entries are zero. That is, I want to create the signed symmetric group of matrices over $\mathbb{F}_5$.

If $n = 2$, then the signed symmetric group has $2^n \cdot n! = 8$ elements. This is kinda doable since the group has only $8$ elements and can be listed explicitly.

However, for large values of $n$, say $n=5$, this would be tiresome.

How do I create the signed symmetric group of matrices in MAGMA?

Thank you in advance for any help. Below is my sample code.

>F5 := FiniteField(5); > >GL25 := GeneralLinearGroup(2, F5); > >A1 := Matrix(F5,2,2,[1,0,0,1]); >A2 := Matrix(F5,2,2,[4,0,0,4]); >A3 := Matrix(F5,2,2,[1,0,0,4]); >A4 := Matrix(F5,2,2,[4,0,0,1]); >A5 := Matrix(F5,2,2,[0,1,1,0]); >A6 := Matrix(F5,2,2,[0,4,4,0]); >A7 := Matrix(F5,2,2,[0,1,4,0]); >A8 := Matrix(F5,2,2,[0,4,1,0]); > >SignSymGrp := sub<GL25|A1,A2,A3,A4,A5,A6,A7,A8>; >SignSymGrp; 
$\endgroup$
1
  • 2
    $\begingroup$ G:=sub<GL(n,5)|Generators(ShephardTodd(2,1,n))>; $\endgroup$ Commented Nov 13, 2024 at 10:57

2 Answers 2

2
$\begingroup$

I did some MAGMA tests, and it seems that the signed symmetric group of matrices over $\mathbb F_5$ can be generated by only 2 or 3 elements, depending if $n$ is even or odd.

Here a MAGMA script returning the signed symmetric group of matrices over $\mathbb F_5$ as a subgroup of $\operatorname{GL}_n (\mathbb{F}_5)$:

F5 := FiniteField(5); n:=5; // Fix n as you need GLn5 := GeneralLinearGroup(n, F5); Z:=ZeroMatrix(F5,n,n); G1:=Z; G1[1,2]:=1; G1[2,1]:=-1; for j in {3..n} do G1[j,j]:=1; end for; // First generator G2:=Z; G2[n,1]:=1; for j in {1..n-1} do G2[j,j+1]:=1; end for; //Second generator SignSymGrp:=sub<GLn5|G1,G2,-G1>; // For n odd, we need a third generator: -G1 // For sure SignSymGrp is contained signed symmetric group of matrices over F_5; // let us check it has the right order: #SignSymGrp eq 2^n*Factorial(n); SignSymGrp; 
$\endgroup$
0
1
$\begingroup$

Disclaimer: this answer gives a different approach, though not in Magma (that I don't know) but in a "parent language", SAGE, just to convey the following plain idea:

The multiplicative group SSM of "signed permutation matrices" is obtained by left-multiplying all ordinary permutation matrices by all diagonal matrices with entries $\pm1$

(as far as I know, it means that SSM is a semidirect product).

See SAGE program below generating the good list :

$$\displaystyle \left[\left(\begin{array}{rr} -1 & 0 \\ 0 & -1 \end{array}\right), \left(\begin{array}{rr} -1 & 0 \\ 0 & 1 \end{array}\right), \left(\begin{array}{rr} 1 & 0 \\ 0 & -1 \end{array}\right), \left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right), \left(\begin{array}{rr} 0 & -1 \\ -1 & 0 \end{array}\right), \left(\begin{array}{rr} 0 & -1 \\ 1 & 0 \end{array}\right), \left(\begin{array}{rr} 0 & 1 \\ -1 & 0 \end{array}\right), \left(\begin{array}{rr} 0 & 1 \\ 1 & 0 \end{array}\right)\right] $$

Remark: right-multiplying would have of course generated the same set.

 from itertools import product ; # cartesian product of sets n=2 K=GF(5) v=[vector(K, b) for b in product(vector(K,[-1, 1]), repeat=n)] show(v) S=SymmetricGroup(n) L=[]; for g in S: M=g.matrix() for d in v: D=diagonal_matrix(d) P=D*M L.append(P) show(L) 
$\endgroup$
0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.