John Cremona
unread,Oct 15, 2017, 12:25:07 PM10/15/17Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to SAGE devel, sage-a...@googlegroups.com, sage-nt
Extracting information about a Galois group is more painful than it
should be. After
sage: K.<z> = CyclotomicField(5)
sage: G = K.galois_group(type='pari')
sage: G
Galois group PARI group [4, -1, 1, "C(4) = 4"] of degree 4 of the
Cyclotomic Field of order 5 and degree 4
we have
sage: type(G)
<class 'sage.rings.number_field.galois_group.GaloisGroup_v1'>
(other types are returned if other options for the galois_group()
method are chosen). There is not a lot you can do with this G except
get its order (G.order()) without going deeper:
sage: GG=G.group()
sage: type(GG)
<class 'sage.groups.pari_group.PariGroup_with_category'>
sage: GG
PARI group [4, -1, 1, "C(4) = 4"] of degree 4
This type has "forgotten" that it is a Galois group but has many more
methods; sadly most not implemented. At least one might want to
extract the 4 elements of the underlying list which are the order (4)
which in this example happens to also be the degree (4), meaning that
GG is a subgroup of S_4 (degree=4) of order 4. The second entry -1 is
the sign (-1 means odd, i.e. not a subgroup of A_4), the third is the
"T-number" which identifies this group in some classification of
transitive groups.
As far as I know the only way to get the sign and T-number is to
retrieve the underlying PARI list via GG.__pari__() (which until
recently was GG._pari_() with single underscores). I would like to
implement
GG.sign() # returns GG.__pari__()[1]
GG.t_number() # returns GG.__pari__()[2]
and perhaps more. I have been looking in the PARI/gp documentation on
Galois groups and what it says about this 4-tuple is
"The output is a 4-component vector [n,s,k,name] with the following
meaning: n is the cardinality of the group, s is its signature (s = 1
if the group is a subgroup of the alternating group A_d, s = -1
otherwise) and name is a character string containing name of the
transitive group according to the GAP 4 transitive groups library by
Alexander Hulpke.
k is more arbitrary and the choice made up to version 2.2.3 of PARI is
rather unfortunate: for d > 7, k is the numbering of the group among
all transitive subgroups of S_d, as given in "The transitive groups of
degree up to eleven", G. Butler and J. McKay, Communications in
Algebra, vol. 11, 1983, pp. 863--911 (group k is denoted T_k there).
And for d ≤ 7, it was ad hoc, so as to ensure that a given triple
would denote a unique group. Specifically, for polynomials of degree d
≤ 7, the groups are coded as follows, using standard notations (etc)"
Despite the ad hoc nature of this parameter k I still think we should
allow users to get at it more easily.
John