|
30 | 30 | short_weierstrass_eqn_regex = re.compile(r'\[(-?\d+),(-?\d+)\]') |
31 | 31 | modm_not_computed_regex = re.compile(r'(\d+)\.(\d+)\.(\d+)\.(\?)') |
32 | 32 |
|
33 | | - |
34 | 33 | def match_coeff_vec(lab): |
35 | 34 | return ZLIST_RE.fullmatch(lab) |
36 | 35 |
|
@@ -451,13 +450,25 @@ def red(p): |
451 | 450 | galois_data = list(db.ec_galrep.search({'lmfdb_label': lmfdb_label})) |
452 | 451 | data['galois_data'] = [r for r in galois_data if r["prime"] > 0] |
453 | 452 | for gd in data['galois_data']: |
| 453 | + s = gd['elladic_image'].split('.') |
454 | 454 | if self.cm: |
455 | | - if self.cm in [-3,-4]: |
456 | | - gd['elladic_index'] = '?' |
| 455 | + if self.cm == -3: |
| 456 | + # for j=0 nonmaximal elladic-images have index 3 for ell > 3 (see https://arxiv.org/abs/1809.02584v3 Theorem 1.4) |
| 457 | + # for ell=2,3 the index can vary but is always determined by the image mod 16,27, respectively |
| 458 | + # the dictionary below lists the index of the maximal image for j=0 modulo relevant powers of 2,3 |
| 459 | + j0_elladic_indices = { 2:1, 3:4, 4:4, 8:16, 9:36, 16:64, 27:324 } |
| 460 | + gd['elladic_index'] = 3 if gd['prime'] > 3 else int(s[1]) // j0_elladic_indices[int(s[0])] |
| 461 | + elif self.cm == -4: |
| 462 | + # for j=1728 the elladic image is maximal except possibly at 2 (see https://arxiv.org/abs/1809.02584v3 Theorem 1.2(4)) |
| 463 | + # for ell=2 the index can vary but is always determined by the image mod 16 |
| 464 | + # the dictionary below lists the index of the maximal image for j=1728 modulo relevant powers of 2 |
| 465 | + assert gd['prime'] == 2 |
| 466 | + j1728_elladic_indices = { 2:3, 4:6, 8:24, 16:96 } |
| 467 | + gd['elladic_index'] = int(s[1]) // j1728_elladic_indices[int(s[0])] |
457 | 468 | else: |
458 | 469 | gd['elladic_index'] = 2 |
459 | 470 | else: |
460 | | - gd['elladic_index'] = gd['elladic_image'].split('.')[1] |
| 471 | + gd['elladic_index'] = s[1] |
461 | 472 | adelic_data = [r for r in galois_data if r["prime"] == 0] |
462 | 473 | if adelic_data: |
463 | 474 | assert len(adelic_data) == 1 |
|
0 commit comments