ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Thu, 28 May 2020 12:30:24 +0200What is the most useful basefield for finite matrix groups?https://ask.sagemath.org/question/51559/what-is-the-most-useful-basefield-for-finite-matrix-groups/Hi everyone,
I am trying to write a notebook that does some elementary computations in a finite matrix group like conjugacy classes and character tables. It is meant to be used in cases where the group is realized explicitly as some subgroup of GL(3,R) or GL(2,R). My problem now is that if I want to implement rotations like
rotations=[]
for t in [1/3,2/3]:
rotations.append(matrix([[cos(2*pi*t),-sin(2*pi*t)],[sin(2*pi*t),cos(2*pi*t)]]))
the base ring will be the symbolic ring SR because there is a sqrt(2) in some denominators. If I then try to compute the characters via
gens=rotations
G2=MatrixGroup(gens)
G2.character_table()
I will get an error message. My assumption is that because of the base ring SR, Sage doesn't realize that this is in fact a finite group. What would a suitable base field be to make this computation possible?
Thanks in advance.Tue, 26 May 2020 17:23:17 +0200https://ask.sagemath.org/question/51559/what-is-the-most-useful-basefield-for-finite-matrix-groups/Comment by FrédéricC for <p>Hi everyone,
I am trying to write a notebook that does some elementary computations in a finite matrix group like conjugacy classes and character tables. It is meant to be used in cases where the group is realized explicitly as some subgroup of GL(3,R) or GL(2,R). My problem now is that if I want to implement rotations like </p>
<pre><code>rotations=[]
for t in [1/3,2/3]:
rotations.append(matrix([[cos(2*pi*t),-sin(2*pi*t)],[sin(2*pi*t),cos(2*pi*t)]]))
</code></pre>
<p>the base ring will be the symbolic ring SR because there is a sqrt(2) in some denominators. If I then try to compute the characters via </p>
<pre><code>gens=rotations
G2=MatrixGroup(gens)
G2.character_table()
</code></pre>
<p>I will get an error message. My assumption is that because of the base ring SR, Sage doesn't realize that this is in fact a finite group. What would a suitable base field be to make this computation possible?</p>
<p>Thanks in advance.</p>
https://ask.sagemath.org/question/51559/what-is-the-most-useful-basefield-for-finite-matrix-groups/?comment=51578#post-id-51578AA or QQbar or UniversalCyclotomicField or CyclotomicField or NumberField or ...Wed, 27 May 2020 12:03:17 +0200https://ask.sagemath.org/question/51559/what-is-the-most-useful-basefield-for-finite-matrix-groups/?comment=51578#post-id-51578Comment by Robin_F for <p>Hi everyone,
I am trying to write a notebook that does some elementary computations in a finite matrix group like conjugacy classes and character tables. It is meant to be used in cases where the group is realized explicitly as some subgroup of GL(3,R) or GL(2,R). My problem now is that if I want to implement rotations like </p>
<pre><code>rotations=[]
for t in [1/3,2/3]:
rotations.append(matrix([[cos(2*pi*t),-sin(2*pi*t)],[sin(2*pi*t),cos(2*pi*t)]]))
</code></pre>
<p>the base ring will be the symbolic ring SR because there is a sqrt(2) in some denominators. If I then try to compute the characters via </p>
<pre><code>gens=rotations
G2=MatrixGroup(gens)
G2.character_table()
</code></pre>
<p>I will get an error message. My assumption is that because of the base ring SR, Sage doesn't realize that this is in fact a finite group. What would a suitable base field be to make this computation possible?</p>
<p>Thanks in advance.</p>
https://ask.sagemath.org/question/51559/what-is-the-most-useful-basefield-for-finite-matrix-groups/?comment=51600#post-id-51600Thank you for the quick reply. Working over numberfields actually makes it possible to enter the matrices in a somewhat useful form. The main problem is not solved, however. Sage still doesn't realize that this group is in fact finite.
z = QQ['z'].0
K = NumberField(z^2 - 3,'s'); K
s=K.gen()
r1=matrix(K,[[-1/2,-1/2*s],[1/2*s,-1/2]])
r2=matrix(K,[[-1/2,1/2*s],[-1/2*s,-1/2]])
rotations_new=[r1,r2]
gens=rotations_new
G2=MatrixGroup(gens)
G2.order()Thu, 28 May 2020 12:01:23 +0200https://ask.sagemath.org/question/51559/what-is-the-most-useful-basefield-for-finite-matrix-groups/?comment=51600#post-id-51600Comment by Robin_F for <p>Hi everyone,
I am trying to write a notebook that does some elementary computations in a finite matrix group like conjugacy classes and character tables. It is meant to be used in cases where the group is realized explicitly as some subgroup of GL(3,R) or GL(2,R). My problem now is that if I want to implement rotations like </p>
<pre><code>rotations=[]
for t in [1/3,2/3]:
rotations.append(matrix([[cos(2*pi*t),-sin(2*pi*t)],[sin(2*pi*t),cos(2*pi*t)]]))
</code></pre>
<p>the base ring will be the symbolic ring SR because there is a sqrt(2) in some denominators. If I then try to compute the characters via </p>
<pre><code>gens=rotations
G2=MatrixGroup(gens)
G2.character_table()
</code></pre>
<p>I will get an error message. My assumption is that because of the base ring SR, Sage doesn't realize that this is in fact a finite group. What would a suitable base field be to make this computation possible?</p>
<p>Thanks in advance.</p>
https://ask.sagemath.org/question/51559/what-is-the-most-useful-basefield-for-finite-matrix-groups/?comment=51604#post-id-51604This question about finiteness kind of turned up already here: [Check if a finiteley generated matrix group is finite](https://ask.sagemath.org/question/38403/check-if-a-finitely-generated-matrix-group-is-finite-works-with-qq-and-not-with-cc/). There it is pointed out that it wouldn't work over floating point fields like CC but the case of number fields is not really addressed.Thu, 28 May 2020 12:30:24 +0200https://ask.sagemath.org/question/51559/what-is-the-most-useful-basefield-for-finite-matrix-groups/?comment=51604#post-id-51604