aboutsummaryrefslogtreecommitdiff
path: root/l-multiples_l-torsion/test4.gp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xl-multiples_l-torsion/test4.gp36
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 @@
1read("bunch_of_curves.gp");
2
3{
4for( 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

Generated with cgit - Back to sebastiano.tronto.net