Ask Your Question

Finding and Identifying Finite Subgroups in SageMath

asked 2023-07-19 02:13:28 +0200

qsage gravatar image

updated 2023-07-20 02:22:25 +0200

I have a finite subgroup, which I determined to be finite using the is_finite() function. The cardinality() function helped me establish how many matrices are present in this subgroup. Now, I am curious to know if there is a way to identify this specific finite subgroup in SageMath, for example, is it actually the XX* subgroup? Alternatively, to which group does this subgroup belong? Perhaps there exists a database where we can conveniently check the nature of this subgroup.

I am also wondering if we can directly check if the 'MatrixGroup(new_matrices_)' group is actually an XX* group using a function like if MatrixGroup(new_matrices) == XX. Additionally, I have a related question: How can I locate a specific subgroup in SageMath? For example, I have several subgroups defined in this paper: A Monograph on the Classification of the Discrete Subgroups of SU (4), and if I want to access, let's say the XX subgroup, how can I do it in SageMath? Sorry for the many little questions. I thought that they are all related, so instead of asking a new question for each little question, I combined them into one question and asked them all together.

Here is the minimal code for my matrix group:

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))
edit retag flag offensive close merge delete


Please add minimal working code to define your finite matrix group.

rburing gravatar imagerburing ( 2023-07-19 14:03:00 +0200 )edit

I have updated the question

qsage gravatar imageqsage ( 2023-07-20 02:22:55 +0200 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2023-07-22 13:47:39 +0200

dan_fulea gravatar image

Let us introduce the given group $G$, for short:

A = matrix([[1,0,0,0],[0,1,0,0],[1,0,0,1],[1,0,1,0]]) 
I2 = identity_matrix(2)
matrices = [A] + [g.matrix().tensor_product(I2) for g in MatrixGroup(SL(2, 5)).gens()]
G = MatrixGroup(matrices)

Then we can ask for:

sage: G.is_finite()
sage: G.order()
sage: G.cardinality()
sage: G.structure_description()
'(C5 x C5 x C5 x C5) : (SL(2,5) x (SL(2,5) : C2))'

Now all the posted little questions are not really well defined for my taste. They depend on the $XX*$ stuff, which is not a "standard stuff". If you have further other groups, then implement them in sage, and check first for order and structure, if two of them are matching you should have a fairly positive answer, else not.

Note: Almost the same question appears also on the MSE site and there we have a link to the paper:

This information is missing here, but would have been of interest. On the other hand, here we have some code sample, which is missing on the MSE cousin question. I am relatively active on both sites, and well, one of them is in some partial order "worse" regarding activity and responsivity, your feeling on MSE was that "sagemath is really worse in that sense[...]". Well, yes, this may be the case, so feel free to voluntarily improve and answer questions on both sites.

At any rate, my problem with the question was related to the still unclear $XX^$ notation. Please understand that question *here should come self-contained, should define all non-standard objects here - and if references are given, these references should give a straightforward definition. Please do not expect that somebody reads an article in full length, then try to guess and match objects through their similar notations.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2023-07-19 02:13:28 +0200

Seen: 155 times

Last updated: Jul 22 '23