I create a hyperelliptic curve, over finite field
zz = random_prime(2^81-1,False,2^80);
Q = GF(zz); x = Q['x'].gen();
f = x^5+ 2*x^2 +x + 3;
C = HyperellipticCurve(f, 0)
Then, Jacobian of Hyperelliptic Curve
J = C.jacobian()(Q)
then found two points and get there divisor and substract
P1 = (514014285438369163567791 : 461217828857546813804480 : 1)
P2 = (514014285438369163567791 : 461217828857546813804480 : 1)
D1 = J(P1);
D2 = J(P2);
D = D1 - D2;
but when calculating the order of D (error)
D.order()
otImplementedError
Traceback (most recent call last) <ipython-input-69-4132ea6bd39c> in <module>() ----> 1 D.order()/home/sage/sage-8.0/src/sage/structure/element.pyx in sage.structure.element.AdditiveGroupElement.order (/home/sage/sage/src/build/cythonized/sage/structure/element.c:16098)() 2276 Return additive order of element 2277 """ -> 2278 return self.additive_order() 2279 2280 def __invert__(self):
/home/sage/sage-8.0/src/sage/structure/element.pyx in sage.structure.element.ModuleElement.additive_order (/home/sage/sage/src/build/cythonized/sage/structure/element.c:15332)() 2196 Return the additive order of self. 2197 """ -> 2198 raise NotImplementedError 2199 2200
#
NotImplementedError:
How to calculate it's order(I need the order to use it as mod in further calculation)