def igusa_clebsch_invariants(self): r""" Return the Igusa-Clebsch invariants `I_2, I_4, I_6, I_{10}` of Igusa and Clebsch [I]_. .. SEEALSO:: :meth:`sage.schemes.hyperelliptic_curves.invariants` EXAMPLES:: sage: R.<x> = QQ[] sage: f = x^5 - x + 2 sage: HyperellipticCurve(f).igusa_clebsch_invariants() (-640, -20480, 1310720, 52160364544) sage: HyperellipticCurve(f(2*x)).igusa_clebsch_invariants() (-40960, -83886080, 343597383680, 56006764965979488256) sage: HyperellipticCurve(f, x).igusa_clebsch_invariants() (-640, 17920, -1966656, 52409511936) sage: HyperellipticCurve(f(2*x), 2*x).igusa_clebsch_invariants() (-40960, 73400320, -515547070464, 56274284941110411264) TESTS:: sage: magma(HyperellipticCurve(f)).IgusaClebschInvariants() # optional - magma [ -640, -20480, 1310720, 52160364544 ] sage: magma(HyperellipticCurve(f(2*x))).IgusaClebschInvariants() # optional - magma [ -40960, -83886080, 343597383680, 56006764965979488256 ] sage: magma(HyperellipticCurve(f, x)).IgusaClebschInvariants() # optional - magma [ -640, 17920, -1966656, 52409511936 ] sage: magma(HyperellipticCurve(f(2*x), 2*x)).IgusaClebschInvariants() # optional - magma [ -40960, 73400320, -515547070464, 56274284941110411264 ] """ f, h = self.hyperelliptic_polynomials() return invariants.igusa_clebsch_invariants(4 * f + h ** 2)
def igusa_clebsch_invariants(self): r""" Return the Igusa-Clebsch invariants `I_2, I_4, I_6, I_{10}` of Igusa and Clebsch [I]_. .. SEEALSO:: :meth:`sage.schemes.hyperelliptic_curves.invariants` EXAMPLES:: sage: R.<x> = QQ[] sage: f = x^5 - x + 2 sage: HyperellipticCurve(f).igusa_clebsch_invariants() (-640, -20480, 1310720, 52160364544) sage: HyperellipticCurve(f(2*x)).igusa_clebsch_invariants() (-40960, -83886080, 343597383680, 56006764965979488256) sage: HyperellipticCurve(f, x).igusa_clebsch_invariants() (-640, 17920, -1966656, 52409511936) sage: HyperellipticCurve(f(2*x), 2*x).igusa_clebsch_invariants() (-40960, 73400320, -515547070464, 56274284941110411264) TESTS:: sage: magma(HyperellipticCurve(f)).IgusaClebschInvariants() # optional - magma [ -640, -20480, 1310720, 52160364544 ] sage: magma(HyperellipticCurve(f(2*x))).IgusaClebschInvariants() # optional - magma [ -40960, -83886080, 343597383680, 56006764965979488256 ] sage: magma(HyperellipticCurve(f, x)).IgusaClebschInvariants() # optional - magma [ -640, 17920, -1966656, 52409511936 ] sage: magma(HyperellipticCurve(f(2*x), 2*x)).IgusaClebschInvariants() # optional - magma [ -40960, 73400320, -515547070464, 56274284941110411264 ] """ f, h = self.hyperelliptic_polynomials() return invariants.igusa_clebsch_invariants(4 * f + h**2)