This is more of a software-related question, but I wanted to ask here because I am confident that most people in this forum are well-acquainted with GAP/SageMath and can provide more insight for the answer.

Essentially, I have a subgroup of SU(2) known as SL(2,5). I took the tensor product of the matrix elements from this group with the identity to obtain 4x4 matrices. Then, I attempted to add a matrix that does not belong to this subgroup to the matrix group. Finally, I wanted to check whether this combination results in an infinite or finite group.

I specifically intended to achieve this using software. There are two main software options for these kinds of group theory processes, one of which is SageMath. I attempted to code something in SageMath, but it was unsuccessful. I'm wondering if someone can assist me with this. Additionally, I'm curious about other methods to prove whether the combination of a finite subgroup with a different element yields a finite or infinite group.

Here is my code in sagemath (and I am fine if someone has it in GAP too)

addition = matrix([[1,0,0,0],[0,1,0,0],[1,0,0,1],[1,0,1,0]]) 
new_matrices_ = []
gens_ = MatrixGroup(SL(2,5)).gens() #the subgroup I am interested
identity_mat = matrix([[1, 0], [0, 1]])#Identity(2)#matrix[[1, 0], [0, 1]]
for i in gens_:
        i_matrix_ = matrix(i)
        tensor_mat_= i.matrix().cross_product(identity_mat) #tried to tensor product of the group element with identity but can't achieve that
        #tensor_mat_ = i.kronecker_product(gens_[0]) #tried to tensor product of the group element with identity but can't achieve that

I am stuck in the line that make a tensor product of the group element with identity


1 Answer 1


How about this:

addition = matrix([[1,0,0,0],[0,1,0,0],[1,0,0,1],[1,0,1,0]]) 
new_matrices_ = []
gens_ = MatrixGroup(SL(2,5)).gens() #the subgroup I am interested
for m in gens_:
    tensor_mat_= m.matrix().tensor_product(identity_matrix(2))

Some elements:



[2 0|2 0]  [1 0|4 0]  [1 0|1 0]  [3 0|3 0]  [1 0|3 0]
[0 2|0 2]  [0 1|0 4]  [0 1|0 1]  [0 3|0 3]  [0 1|0 3]
[---+---]  [---+---]  [---+---]  [---+---]  [---+---]
[3 0|1 0]  [4 0|2 0]  [1 0|2 0]  [2 0|4 0]  [0 0|1 0]
[0 3|0 1], [0 4|0 2], [0 1|0 2], [0 2|0 4], [0 0|0 1]

Now append addition:

sage: new_matrices_.append(addition)
sage: MatrixGroup(new_matrices_)
Matrix group over Finite Field of size 5 with 121 generators
sage: MatrixGroup(new_matrices_).is_finite()
sage: MatrixGroup(new_matrices_).cardinality()
  • $\begingroup$ I was just writing an answer to this question with cordinality :) $\endgroup$
    – j.doe
    Commented Jul 6, 2023 at 4:33
  • $\begingroup$ Careful: In GAP, SL(2,5) is defined over the field with 5 elements, which pushes everything into this characteristic, and in particular makes it finite. Since the OP writes $SU(2)$, I presume she wants groups in characteristic zero. $\endgroup$
    – ahulpke
    Commented Jul 6, 2023 at 6:59
  • $\begingroup$ hmm, how to make characteristic zero? can you provide an example? $\endgroup$
    – j.doe
    Commented Jul 6, 2023 at 11:36
  • 1
    $\begingroup$ @j.doe no. I have no clue about sage, only GAP. $\endgroup$
    – ahulpke
    Commented Jul 12, 2023 at 4:36
  • 1
    $\begingroup$ You can get part of the way with this: G = SL(2,5); Ch = G.irreducible_characters(). Then if you evaluate [a.values()[0] for a in Ch], you can see the 0th entry in each character and see that two of them are equal to 2. Then a, b = Ch[1], Ch[2] will give you the relevant characters. I'm not sure how to then convert those to matrix groups in Sage. You could read the GAP documentation at docs.gap-system.org/doc/ref/chap71.html to see if you can reconstruct their algorithm. $\endgroup$ Commented Jul 12, 2023 at 4:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .