Ticket #2217 (needs_work enhancement)
splitting field function for number fields
| Reported by: | jason | Owned by: | davidloeffler |
|---|---|---|---|
| Priority: | major | Milestone: | sage-5.10 |
| Component: | number fields | Keywords: | |
| Cc: | abrochard | Work issues: | |
| Report Upstream: | N/A | Reviewers: | |
| Authors: | Jeroen Demeyer | Merged in: | |
| Dependencies: | Stopgaps: |
Description (last modified by jdemeyer) (diff)
We should add splitting_field() function: given a polynomial, compute the number field generated by all the roots.
See the thread at http://groups.google.com/group/sage-devel/browse_thread/thread/32fe12de12d5f6a5/c91753b5e65fe7b9#c91753b5e65fe7b9
Attachments
Change History
comment:2 Changed 4 years ago by davidloeffler
- Owner changed from was to davidloeffler
- Component changed from number theory to number fields
comment:3 Changed 19 months ago by jdemeyer
- Dependencies set to #11904, #11995
- Report Upstream set to N/A
Changed 19 months ago by jdemeyer
-
attachment
2217_splitting_field.patch
added
Add splitting_field() function
comment:7 Changed 8 months ago by jdemeyer
I totally forgot about this. I might be good to revisit this.
comment:8 Changed 8 months ago by jdemeyer
- Status changed from new to needs_review
- Dependencies #11904, #11995 deleted
- Authors set to Jeroen Demeyer
I originally had plans for some speed-ups, but since the code works fine, I guess it can be reviewed.
comment:9 Changed 3 months ago by mmanes
- Status changed from needs_review to needs_work
I ran all standard tests, and everything passed.
I was trying to test functionality, but I'm confused by the differences file. All of the old examples seem to work, and none of the new ones work.
In the first example, I get:
sage: G = NumberField(x^3 - x - 1,'a').galois_closure('b').galois_group(); G
Galois group of Number Field in b with defining polynomial x^6 - 14*x^4
+ 20*x^3 + 49*x^2 - 140*x + 307
The expected output seems to have been changed from this result to
Number Field in b with defining polynomial x^6 - 6*x^4 + 9*x^2 + 23
These fields are isomorphic, but I've tried the example on three machines, and all of them give the first thing as the output.
Similarly, the second example doesn't work:
sage: G.subgroup([ G(1), G([(1,2,3),(4,5,6)]), G([(1,3,2),(4,6,5)]) ]) Traceback (click to the left of this block for traceback) ... TypeError: permutation [(1, 2, 3), (4, 5, 6)] not in Galois group of Number Field in b with defining polynomial x^6 - 14*x^4 + 20*x^3 + 49*x^2 - 140*x + 307
But the original example (now deleted) does work:
sage: G.subgroup([ G(1), G([(1,5,2),(3,4,6)]), G([(1,2,5),(3,6,4)])]) Subgroup [(), (1,5,2)(3,4,6), (1,2,5)(3,6,4)] of Galois group of Number Field in b with defining polynomial x^6 - 14*x^4 + 20*x^3 + 49*x^2 - 140*x + 307

Note that this approach does not give the splitting field. It gives a field containing at least one root of each factor of the original polynomial, but that still might not be the splitting field.
Later in the thread mentioned above, I give a technique using internals of qqbar which I believe does give the splitting field (perhaps inefficiently).