CoCalc Public Fileswww / talks / harvard-talk-2004-12-08 / e2heights / deletedOpen with one click!
Author: William A. Stein
Compute Environment: Ubuntu 18.04 (Deprecated)
1
intrinsic formal_sigma_in_s2_2(E::CrvEll, prec::RngIntElt) -> RngSerElt
2
{}
3
m := 2;
4
rels := Eltseq(sigma_relation(E,m,prec,prec+2));
5
S := Parent(rels[1]);
6
i := 1;
7
seen := [2];
8
numvars := prec;
9
known := [S.i : i in [1..numvars]];
10
for r in rels do
11
mon := Monomials(r);
12
cof := Coefficients(r);
13
z := 0;
14
for j in [1..#mon] do
15
for i in [1..numvars] do
16
if mon[j] eq S.i and not (i in seen) then
17
z := &+[S|-mon[k]*cof[k]/cof[j] : k in [1..#mon] | k ne j];
18
//print "\nfor var s",i," have expression\n",z;
19
phi := hom<S -> S | known>;
20
val := phi(z);
21
//printf "\ns[%o] := %o;\n", i, val;
22
//print Valuation(LCM([1] cat [Denominator(x) : x in Coefficients(val)]) , 5);
23
known[i] := val;
24
Append(~seen,i);
25
end if;
26
end for;
27
end for;
28
end for;
29
R<s2> := PolynomialRing(RationalField());
30
z := [R|0 : i in [1..numvars]];
31
z[2] := s2;
32
phi := hom<S -> R | z>;
33
S<t> := PowerSeriesRing(R);
34
return S!([0,1] cat [phi(c) : c in known]) + O(t^(#known+1));
35
end intrinsic;
36
37