Path: blob/master/sage/schemes/hyperelliptic_curves/jacobian_g2.py
4156 views
"""1Jacobian of a Hyperelliptic curve of Genus 22"""34#*****************************************************************************5# Copyright (C) 2006 David Kohel <[email protected]>6# Distributed under the terms of the GNU General Public License (GPL)7# http://www.gnu.org/licenses/8#*****************************************************************************910import jacobian_generic11import kummer_surface1213# The generic genus 2 curve in Weierstrass form:14#15# y^2 + (c0*x^3 + c2*x^2 + c4*x + c6)*y =16# a0*x^6 + a2*x^5 + a4*x^4 + a6*x^3 + a8*x^2 + a10*x + a12.17#18# Transforms to:19#20# y^2 = (4*a0 + c0^2)*x^6 + (4*a2 + 2*c0*c2)*x^521# + (4*a4 + 2*c0*c4 + c2^2)*x^4 + (4*a6 + 2*c0*c6 + 2*c2*c4)*x^322# + (4*a8 + 2*c2*c6 + c4^2)*x^2 + (4*a10 + 2*c4*c6)*x + 4*a12 + c6^22324class HyperellipticJacobian_g2(jacobian_generic.HyperellipticJacobian_generic):25def kummer_surface(self):26try:27return self._kummer_surface28except AttributeError:29return kummer_surface.KummerSurface(self)30313233