Hyperelliptic curves over the rationals¶
- class sage.schemes.hyperelliptic_curves.hyperelliptic_rational_field.HyperellipticCurve_rational_field(PP, f, h=None, names=None, genus=None)[source]¶
- Bases: - HyperellipticCurve_generic,- ProjectivePlaneCurve_field- lseries(prec=53)[source]¶
- Return the \(L\)-series of this hyperelliptic curve of genus 2. - EXAMPLES: - sage: x = polygen(QQ, 'x') sage: C = HyperellipticCurve(x^2+x, x^3+x^2+1) sage: C.lseries() PARI L-function associated to Hyperelliptic Curve over Rational Field defined by y^2 + (x^3 + x^2 + 1)*y = x^2 + x - >>> from sage.all import * >>> x = polygen(QQ, 'x') >>> C = HyperellipticCurve(x**Integer(2)+x, x**Integer(3)+x**Integer(2)+Integer(1)) >>> C.lseries() PARI L-function associated to Hyperelliptic Curve over Rational Field defined by y^2 + (x^3 + x^2 + 1)*y = x^2 + x 
 - matrix_of_frobenius(p, prec=20)[source]¶
- Compute the matrix of Frobenius on Monsky-Washnitzer cohomology using the \(p\)-adic field with precision - prec.- This function is essentially a wrapper function of - sage.schemes.hyperelliptic_curves.monsky_washnitzer.matrix_of_frobenius_hyperelliptic().- INPUT: - p– prime integer or pAdic ring / field; if- pis an integer, constructs a- pAdicFieldwith- pto compute the matrix of Frobenius, otherwise uses the supplied pAdic ring or field
- prec– (optional) if- pis an prime integer, the \(p\)-adic precision of the coefficient ring constructed
 - EXAMPLES: - sage: K = pAdicField(5, prec=3) sage: R.<x> = QQ['x'] sage: H = HyperellipticCurve(x^5 - 2*x + 3) sage: H.matrix_of_frobenius(K) [ 4*5 + O(5^3) 5 + 2*5^2 + O(5^3) 2 + 3*5 + 2*5^2 + O(5^3) 2 + 5 + 5^2 + O(5^3)] [ 3*5 + 5^2 + O(5^3) 3*5 + O(5^3) 4*5 + O(5^3) 2 + 5^2 + O(5^3)] [ 4*5 + 4*5^2 + O(5^3) 3*5 + 2*5^2 + O(5^3) 5 + 3*5^2 + O(5^3) 2*5 + 2*5^2 + O(5^3)] [ 5^2 + O(5^3) 5 + 4*5^2 + O(5^3) 4*5 + 3*5^2 + O(5^3) 2*5 + O(5^3)] - >>> from sage.all import * >>> K = pAdicField(Integer(5), prec=Integer(3)) >>> R = QQ['x']; (x,) = R._first_ngens(1) >>> H = HyperellipticCurve(x**Integer(5) - Integer(2)*x + Integer(3)) >>> H.matrix_of_frobenius(K) [ 4*5 + O(5^3) 5 + 2*5^2 + O(5^3) 2 + 3*5 + 2*5^2 + O(5^3) 2 + 5 + 5^2 + O(5^3)] [ 3*5 + 5^2 + O(5^3) 3*5 + O(5^3) 4*5 + O(5^3) 2 + 5^2 + O(5^3)] [ 4*5 + 4*5^2 + O(5^3) 3*5 + 2*5^2 + O(5^3) 5 + 3*5^2 + O(5^3) 2*5 + 2*5^2 + O(5^3)] [ 5^2 + O(5^3) 5 + 4*5^2 + O(5^3) 4*5 + 3*5^2 + O(5^3) 2*5 + O(5^3)] - You can also pass directly a prime \(p\) with to construct a pAdic field with precision - prec:- sage: H.matrix_of_frobenius(3, prec=2) [ O(3^2) 3 + O(3^2) O(3^2) O(3^2)] [ 3 + O(3^2) O(3^2) O(3^2) 2 + 3 + O(3^2)] [ 2*3 + O(3^2) O(3^2) O(3^2) 3^-1 + O(3)] [ O(3^2) O(3^2) 3 + O(3^2) O(3^2)] - >>> from sage.all import * >>> H.matrix_of_frobenius(Integer(3), prec=Integer(2)) [ O(3^2) 3 + O(3^2) O(3^2) O(3^2)] [ 3 + O(3^2) O(3^2) O(3^2) 2 + 3 + O(3^2)] [ 2*3 + O(3^2) O(3^2) O(3^2) 3^-1 + O(3)] [ O(3^2) O(3^2) 3 + O(3^2) O(3^2)]