Understanding whether the addition of an element to a subgroup of an infinite group will result in an infinite group or not in GAP/SageMath

74 Views Asked by At

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]]) 
print(addition)
new_matrices_ = []
gens_ = MatrixGroup(SL(2,5)).gens() #the subgroup I am interested
print(len(gens_))
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
        #print(tensor_mat_)
        new_matrices_.append(tensor_mat_)
new_matrices_.append(addition)   
is_infinite(MatrixGroup(new_matrices))

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

1

There are 1 best solutions below

10
On BEST ANSWER

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))
    new_matrices_.append(tensor_mat_)

Some elements:

new_matrices_[20:25]

returns

[
[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()
True
sage: MatrixGroup(new_matrices_).cardinality()
18000000