Ask Your Question

Revision history [back]

order of hyperelliptic curve divisor

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)