diff options
| author | Sebastiano Tronto <sebastiano.tronto@gmail.com> | 2019-07-31 16:11:35 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano.tronto@gmail.com> | 2019-07-31 16:11:35 +0200 |
| commit | 2add0f43d3d2718fb544bedc99217af9d99955b7 (patch) | |
| tree | a37563016093cb5540bafb195cc39645aab7fd96 /kummer_degree.sage | |
| parent | 53025b2c837bc492d23b316b1a1003e13816903c (diff) | |
| download | kummer-degrees-2add0f43d3d2718fb544bedc99217af9d99955b7.tar.gz kummer-degrees-2add0f43d3d2718fb544bedc99217af9d99955b7.zip | |
Just some refactoring
Diffstat (limited to 'kummer_degree.sage')
| -rw-r--r-- | kummer_degree.sage | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/kummer_degree.sage b/kummer_degree.sage index 6a1ac2a..5a5f073 100644 --- a/kummer_degree.sage +++ b/kummer_degree.sage | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | ############################################################################### | ||
| 2 | # This software allows one to compute the degree of certain field extensions # | ||
| 3 | # of the rational numbers. In particular, it can compute the degree over Q of # | ||
| 4 | # extensions of the form Q( sqrt[N](G), \zeta_M ), where: # | ||
| 5 | # - N and M are integers with N dividing M; # | ||
| 6 | # - G is a finitely generated subgroup of the multiplicative group of Q # | ||
| 7 | # - \zeta_M is a primitive M-th root of unity # | ||
| 8 | # The group G does not have to be given in a particular format. A finite set # | ||
| 9 | # of generators is sufficient. # | ||
| 10 | ############################################################################### | ||
| 11 | |||
| 1 | # Computes the "adelic Kummer failure", i.e. the degrees of the intersection | 12 | # Computes the "adelic Kummer failure", i.e. the degrees of the intersection |
| 2 | # of the the Kummer extension Q(\sqrt{2^n}{G}) with the M-th cyclotomic field | 13 | # of the the Kummer extension Q(\sqrt{2^n}{G}) with the M-th cyclotomic field |
| 3 | # over Q_{2^n}. | 14 | # over Q_{2^n}. |
| @@ -58,7 +69,7 @@ def adelic_failure_gb( B, d ): | |||
| 58 | # shortlist, we declare it here and increase it appropriately at each step. | 69 | # shortlist, we declare it here and increase it appropriately at each step. |
| 59 | M = 1 | 70 | M = 1 |
| 60 | 71 | ||
| 61 | for n in range( 1, N+1 ): # 1 \leq n \leq N | 72 | for n in range( 1, N+1 ): |
| 62 | 73 | ||
| 63 | # We add the new elements to the shortlist, modifying M if needed. | 74 | # We add the new elements to the shortlist, modifying M if needed. |
| 64 | # This is not done in case we are in the extra "fake" level (this case | 75 | # This is not done in case we are in the extra "fake" level (this case |
