pari groups

Skip to first unread message

John Cremona

Oct 15, 2017, 12:25:07 PM10/15/17
to SAGE devel,, 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: 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

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.


Samuel Lelièvre

Jan 4, 2018, 8:39:57 AM1/4/18
to sage-algebra
Sorry to reply almost three months later. I opened #24469 for that:

Sun 2017-10-15 11:25:07 UTC-5, John Cremona:
Reply all
Reply to author
0 new messages