sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.
https://www.sagemath.org
Other
1.2k stars 413 forks source link

Implement is_abelian() for relative number fields #25157

Open b3ee50d7-a3a6-4137-9726-0dfff1d42904 opened 6 years ago

b3ee50d7-a3a6-4137-9726-0dfff1d42904 commented 6 years ago

Right now, is_abelian() fails for relative number fields as it calls is_galois() which is set to fail for relative number fields.

One can check if it is abelian by looking at automorphisms() and I was wondering if there was a better way to do this. Failing that, I think I could implement that approach to checking if an extension is abelian.

(I proposed a wrong implementation in a previous version.)

Component: number fields

Keywords: relative number fields, abelian extensions

Issue created by migration from https://trac.sagemath.org/ticket/25157

b3ee50d7-a3a6-4137-9726-0dfff1d42904 commented 6 years ago

Description changed:

--- 
+++ 
@@ -1 +1,3 @@
-
+Right now, `is_abelian()` fails for relative number fields as it calls `is_galois()` which is set to fail for relative number fields. This is a straightforward implementation of `is_abelian()`. 
+First, it checks if the field `is_galois_relative()`, and if it is then tries to return `self.galois_group(type='gap').group().is_abelian()`.
+The reason for `type='gap'` is because PARI groups (which are returned by default) have much less structure---in our case, they do not have an `is_abelian()`. The only problem with this is that the user needs to install the `database_gap` package.
b3ee50d7-a3a6-4137-9726-0dfff1d42904 commented 6 years ago

Changed keywords from none to relative number fields, abelian extensions, class field theory

b3ee50d7-a3a6-4137-9726-0dfff1d42904 commented 6 years ago

Description changed:

--- 
+++ 
@@ -1,3 +1,5 @@
-Right now, `is_abelian()` fails for relative number fields as it calls `is_galois()` which is set to fail for relative number fields. This is a straightforward implementation of `is_abelian()`. 
-First, it checks if the field `is_galois_relative()`, and if it is then tries to return `self.galois_group(type='gap').group().is_abelian()`.
-The reason for `type='gap'` is because PARI groups (which are returned by default) have much less structure---in our case, they do not have an `is_abelian()`. The only problem with this is that the user needs to install the `database_gap` package.
+Right now, `is_abelian()` fails for relative number fields as it calls `is_galois()` which is set to fail for relative number fields.
+
+One can check if it is abelian by looking at `automorphisms()` and I was wondering if there was a better way to do this. Failing that, I think I could implement that approach to checking if an extension is abelian.
+
+(I proposed a wrong implementation in a previous version.)
b3ee50d7-a3a6-4137-9726-0dfff1d42904 commented 6 years ago

Changed keywords from relative number fields, abelian extensions, class field theory to relative number fields, abelian extensions