Opened 4 years ago

Closed 3 years ago

Specify subgroups of Galois groups using generators

Reported by: Owned by: pbruin minor sage-9.0 number fields Galois group Peter Bruin David Roe N/A 1c199f4 1c199f427f90c4013742fcef77bd3077e7893bf6

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()`.

comment:1 Changed 4 years ago by pbruin

Branch: → u/pbruin/26816-GaloisGroup_subgroup → eed989369d086451145434d9e9b49841ce745332 modified (diff) new → needs_review

comment:2 Changed 4 years ago by git

Commit: eed989369d086451145434d9e9b49841ce745332 → 1c199f427f90c4013742fcef77bd3077e7893bf6

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

 ​1c199f4 `Merge branch 'develop' into ticket/26816-GaloisGroup_subgroup`

comment:3 Changed 3 years ago by roed

Reviewers: → David Roe needs_review → positive_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.5 → sage-9.0

comment:5 Changed 3 years ago by vbraun

Branch: u/pbruin/26816-GaloisGroup_subgroup → 1c199f427f90c4013742fcef77bd3077e7893bf6 → fixed positive_review → closed
Note: See TracTickets for help on using tickets.