Opened 4 years ago

Closed 3 years ago

#26816 closed enhancement (fixed)

Specify subgroups of Galois groups using generators

Reported by: pbruin Owned by:
Priority: minor Milestone: sage-9.0
Component: number fields Keywords: Galois group
Cc: Merged in:
Authors: Peter Bruin Reviewers: David Roe
Report Upstream: N/A Work issues:
Branch: 1c199f4 (Commits, GitHub, GitLab) Commit: 1c199f427f90c4013742fcef77bd3077e7893bf6
Dependencies: Stopgaps:

Status badges

Description (last modified by pbruin)

It should be possible to construct a subgroup of the Galois group of a number field from a set of generators, just as for permutation groups. This is already supported to some extent, but the list of elements of such a subgroup is wrong.

sage: R.<x> = QQ[]
sage: f = x^6 - 6*x^4 + 9*x^2 + 23
sage: K.<a> = NumberField(f)
sage: G = K.galois_group()
sage: list(G)
[(),
 (1,2,3)(4,5,6),
 (1,3,2)(4,6,5),
 (1,4)(2,6)(3,5),
 (1,5)(2,4)(3,6),
 (1,6)(2,5)(3,4)]
sage: g = G[1]
sage: h = G[3]

Before:

sage: list(G.subgroup([]))
[]
sage: list(G.subgroup([g]))
[(1,2,3)(4,5,6)]
sage: list(G.subgroup([h]))
[(1,4)(2,6)(3,5)]
sage: list(G.subgroup([g,h]))
[(1,2,3)(4,5,6), (1,4)(2,6)(3,5)]

After:

sage: list(G.subgroup([]))
[()]
sage: list(G.subgroup([g]))
[(), (1,2,3)(4,5,6), (1,3,2)(4,6,5)]
sage: list(G.subgroup([h]))
[(), (1,4)(2,6)(3,5)]
sage: list(G.subgroup([g,h]))
[(),
 (1,2,3)(4,5,6),
 (1,3,2)(4,6,5),
 (1,4)(2,6)(3,5),
 (1,5)(2,4)(3,6),
 (1,6)(2,5)(3,4)]

There is one user-visible change: the special case where applying subgroup() to the list of all elements of G returns G itself has been removed. Besides simplifying the code, this has the advantage that the object returned by subgroup() now always has type GaloisGroup_subgroup, and in particular has a method fixed_field().

Change History (5)

comment:1 Changed 4 years ago by pbruin

Branch: u/pbruin/26816-GaloisGroup_subgroup
Commit: eed989369d086451145434d9e9b49841ce745332
Description: modified (diff)
Status: newneeds_review

comment:2 Changed 4 years ago by git

Commit: eed989369d086451145434d9e9b49841ce7453321c199f427f90c4013742fcef77bd3077e7893bf6

Branch pushed to git repo; I updated commit sha1. New commits:

1c199f4Merge branch 'develop' into ticket/26816-GaloisGroup_subgroup

comment:3 Changed 3 years ago by roed

Reviewers: David Roe
Status: needs_reviewpositive_review

Looks good to me. Recent patchbot failures due to transition to Python 3.

comment:4 Changed 3 years ago by chapoton

Milestone: sage-8.5sage-9.0

comment:5 Changed 3 years ago by vbraun

Branch: u/pbruin/26816-GaloisGroup_subgroup1c199f427f90c4013742fcef77bd3077e7893bf6
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.