Slow but direct way to saturate.
Let Q1, Q2 be gens for a subgroup of finite index of E(K)/tor. Check for each element Q of this set:
{Q1 + b*Q2 : 0 < = b < ell } union {Q2}
if Q is divisible by ell; if not, then the subgroup is ell-saturated.
|
|
|
|
|
|
(True, [(0 : -a - 1 : 1), (-3/4*a + 1/4 : -5/4*a - 5/8 : 1)]) (True, [(0 : -a - 1 : 1), (-3/4*a + 1/4 : -5/4*a - 5/8 : 1)]) |
(False, [(0 : -a - 1 : 1), (a + 1 : -a - 1 : 1)]) (False, [(0 : -a - 1 : 1), (a + 1 : -a - 1 : 1)]) |
|
|
(True, [(0 : -a - 1 : 1), (a + 1 : -a - 1 : 1)]) (True, [(0 : -a - 1 : 1), (a + 1 : -a - 1 : 1)]) |
How slow is this?
2 0.01 3 0.04 5 0.12 7 0.3 11 2.03 13 3.25 17 33.07 2 0.01 3 0.04 5 0.12 7 0.3 11 2.03 13 3.25 17 33.07 |
Thus this algorithm is very simple to implement, but is extremeley insanely slow compared to the reduction-modulo-primes algorithm that we have also implemented. This is thus just a nice double check in small cases that we're getting the right answer.
|
|