Ver código fonte

show how to compute divisor functions for divisors with effective size 1

narodnik 4 anos atrás
pai
commit
cd030a3c69
1 arquivos alterados com 29 adições e 0 exclusões
  1. 29 0
      script/research/ec/unique-y-intersect.sage

+ 29 - 0
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.<x, y> = 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
+