Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

""" 

Hyperelliptic curves over the rationals 

""" 

from __future__ import absolute_import 

 

#***************************************************************************** 

# Copyright (C) 2006 David Kohel <kohel@maths.usyd.edu> 

# Distributed under the terms of the GNU General Public License (GPL) 

# http://www.gnu.org/licenses/ 

#***************************************************************************** 

 

from . import hyperelliptic_generic 

from sage.rings.padics.all import is_pAdicField, is_pAdicRing, pAdicField 

 

class HyperellipticCurve_rational_field(hyperelliptic_generic.HyperellipticCurve_generic): 

 

def matrix_of_frobenius(self, p, prec=20): 

 

# BUG: should get this method from HyperellipticCurve_generic 

def my_chage_ring(self, R): 

from .constructor import HyperellipticCurve 

f, h = self._hyperelliptic_polynomials 

y = self._printing_ring.gen() 

x = self._printing_ring.base_ring().gen() 

return HyperellipticCurve(f.change_ring(R), h, "%s,%s"%(x,y)) 

 

import sage.schemes.hyperelliptic_curves.monsky_washnitzer as monsky_washnitzer 

if is_pAdicField(p) or is_pAdicRing(p): 

K = p 

else: 

K = pAdicField(p, prec) 

frob_p, forms = monsky_washnitzer.matrix_of_frobenius_hyperelliptic(my_chage_ring(self, K)) 

return frob_p