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

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to