intersection-multiplicity.sage 396 B

1234567891011121314151617181920
  1. # Calculate intersection multiplicity of a point in sage
  2. q = 47
  3. K = GF(q)
  4. E = EllipticCurve(K, (0, 5))
  5. Q = E(10, 26)
  6. C = E.defining_polynomial()
  7. R.<x, y, z> = PolynomialRing(K)
  8. f = y - Q[1]
  9. # Homogenize f
  10. f = z^f.degree() * f(x/z, y/z, 1)
  11. P.<x,y,z> = ProjectiveSpace(K, 2)
  12. X = P.subscheme([C(x, y, z)])
  13. Y = P.subscheme([f(x, y, z)])
  14. Q = X([Q[0], Q[1]])
  15. print(Q.intersection_multiplicity(Y))