Skip to content

Commit ac447bc

Browse files
Solomon VishkautsanSolomon Vishkautsan
authored andcommitted
Fixed issue #16
1 parent 1e79517 commit ac447bc

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

chabauty.m

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -394,9 +394,15 @@ function GetCharpols(ker_basis, pts, basept, uni, p)
394394

395395
divs_p_red := [Reduction(d, basept_div) : d in divs_p];
396396
decomps := [Decomposition(d) : d in divs_p_red];
397-
assert forall{d : d in decomps | #d eq 1 and d[1,2] eq 1};
398-
dpts := [* RepresentativePoint(d[1,1]) : d in decomps *];
399-
charpols := [MinimalPolynomial(Evaluate(uni,pt)) : pt in dpts];
397+
398+
// assert forall{d : d in decomps | #d eq 1 and d[1,2] eq 1};
399+
minpols := [[MinimalPolynomial(Evaluate(uni,RepresentativePoint(dec[i,1]))) :
400+
i in [1..#dec]] : dec in decomps];
401+
402+
charpols := [&*[minpols[j][i]^(decomps[j][i,2]*Degree(decomps[j][i,1]) div Degree(minpols[j][i])) :
403+
i in [1..#decomps[j]]] : j in [1..#decomps]];
404+
// dpts := [* RepresentativePoint(d[1,1]) : d in decomps *];
405+
// charpols := [MinimalPolynomial(Evaluate(uni,pt)) : pt in dpts];
400406
for charpol in charpols do
401407
coeffs_charpol := Coefficients(charpol);
402408
try
@@ -593,9 +599,9 @@ function ChooseGoodBasept(pts, p)
593599
pts_seq := [[pt[i]*d where d := LCM([Denominator(pt[j]) : j in [1..dim+1]]): i in [1..dim+1]] : pt in pts];
594600
pts_seq := [ChangeUniverse(pt, Integers()) : pt in pts_seq];
595601
for pt in pts_seq do
596-
//if not IsWeierstrassPlace(Place(Cp!pt)) then
602+
if not IsWeierstrassPlace(Place(Cp!pt)) then
597603
return C ! pt;
598-
//end if;
604+
end if;
599605
end for;
600606

601607
error "There are no good base points to choose from :(";

chabauty_test.m

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,12 @@
4545
assert e`Object eq "ERROR: rank >= genus";
4646
end try;
4747

48+
// curve of Gordon & Grant that is solved directly by Coleman's theorem for p:= 7: - 2sec
49+
A2<x,y> := AffinePlane(Rationals());
50+
F := -y^2 + x*(x-1)*(x-2)*(x-5)*(x-6);
51+
C := Curve(A2, F);
52+
D, m := EmbedPlaneCurveInP3(C);
53+
D := Curve(D);
54+
assert ChabautyColeman(D);
4855

4956

0 commit comments

Comments
 (0)