diff options
Diffstat (limited to '')
| -rwxr-xr-x | l-multiples_l-torsion/test4.gp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/l-multiples_l-torsion/test4.gp b/l-multiples_l-torsion/test4.gp new file mode 100755 index 0000000..4ef8f02 --- /dev/null +++ b/l-multiples_l-torsion/test4.gp | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | read("bunch_of_curves.gp"); | ||
| 2 | |||
| 3 | { | ||
| 4 | for( i = 1, length( data ), | ||
| 5 | print( "Testing curve with coefficients ", data[i] ); | ||
| 6 | E = ellinit( data[i] ); | ||
| 7 | f4 = elldivpol( E, 4 ); /* 4-division polynomial */ | ||
| 8 | eqn = y^2 + E[1]*x*y + E[3]*y - x^3 - E[2]*x^2 - E[4]*x - E[5]; /* eqn of E */ | ||
| 9 | res = substpol( polresultant( f4, eqn ), y, x ); /* Keep x for consistency */ | ||
| 10 | print( "Computing K4..." ); | ||
| 11 | K4 = nfinit( nfsplitting( res, 96 ) ); | ||
| 12 | print( "Computed!" ); | ||
| 13 | E_ext = ellinit( E[1..5], K4 ); | ||
| 14 | Egens = ellgenerators(E); | ||
| 15 | for( j = 1, length( Egens ), | ||
| 16 | P = Egens[j]; | ||
| 17 | if( ellisdivisible( substpol(E_ext,x,y), P, 2, &Q ), | ||
| 18 | print( "Found EC ", cremona_label, " with point ", P, | ||
| 19 | " and 2-division point ", Q, " over K4" ); | ||
| 20 | if( ellisdivisible( substpol(E_ext,x,y), P, 4, &Q ), | ||
| 21 | print( "Even 4-divisible! 4-division point: ", Q ); | ||
| 22 | ); | ||
| 23 | /* Check for 3-divisibility up to torsion */ | ||
| 24 | /* T = elltors(E)[3][1]; | ||
| 25 | if( ellisdivisible( E, elladd(E,P,T), 3 ), | ||
| 26 | print( "P+T_1 is 3-divisible!" ); | ||
| 27 | ); | ||
| 28 | T = ellmul(E,T,2); | ||
| 29 | if( ellisdivisible( E, elladd(E,P,T), 3 ), | ||
| 30 | print( "P+T_2 is 3-divisible!" ); | ||
| 31 | ); */ | ||
| 32 | ); | ||
| 33 | ); | ||
| 34 | ); | ||
| 35 | } | ||
| 36 | |||
