diff --git a/script/research/ec/unique-y-intersect.sage b/script/research/ec/unique-y-intersect.sage new file mode 100644 index 000000000..59a122951 --- /dev/null +++ b/script/research/ec/unique-y-intersect.sage @@ -0,0 +1,29 @@ +# Lets show that div(f) = [P] - [∞] +# So any divisor with supp(D) = {P}, +# with an effective size of 1 can be represented +# by the horizontal line f = y - P.y +q = 47 +K = GF(q) +E = EllipticCurve(K, (0, 5)) +C = E.defining_polynomial() + +R. = PolynomialRing(K) + +for i in range(100): + P = E.random_point() + Px, Py = P[0], P[1] + + # Skip points at infinity + if P[2] == 0: + continue + assert P[2] == 1 + + f = y - Py + + I = Ideal([C(x, y, 1), f]) + V = I.variety() + print(P, V) + assert len(V) == 1 + assert V[0][x] == Px + assert V[0][y] == Py +