Package sage :: Package interfaces :: Module genus2reduction :: Class Genus2reduction
[hide private]
[frames] | no frames]

Class Genus2reduction

source code

                      object --+    
                               |    
structure.sage_object.SageObject --+
                                   |
                                  Genus2reduction


Conductor and Reduction Types for Genus 2 Curves.

Use \code{R = genus2reduction(Q, P)} to obtain reduction
information about the Jacobian of the projective smooth curve
defined by $y^2 + Q(x)y = P(x)$.  Type \code{R?} for further
documentation and a description of how to interpret the local
reduction data.

EXAMPLES:
    sage: x = QQ['x'].0
    sage: R = genus2reduction(x^3 - 2*x^2 - 2*x + 1, -5*x^5)
    sage: R.conductor
    1416875
    sage: factor(R.conductor)
    5^4 * 2267
    
This means that only the odd part of the conductor is known.
    sage: R.prime_to_2_conductor_only
    True

The discriminant is always minimal away from 2, but possibly not at 2.
    sage: factor(R.minimal_disc)
    2^3 * 5^5 * 2267

Printing R summarizes all the information computed about the curve
    sage: R
    Reduction data about this proper smooth genus 2 curve:
        y^2 + (x^3 - 2*x^2 - 2*x + 1)*y = -5*x^5
    A Minimal Equation (away from 2):
        y^2 = x^6 - 240*x^4 - 2550*x^3 - 11400*x^2 - 24100*x - 19855
    Minimal Discriminant (away from 2):  56675000
    Conductor (away from 2): 1416875
    Local Data:
        p=2
        (potential) stable reduction:  (II), j=1
        p=5
        (potential) stable reduction:  (I)
        reduction at p: [V] page 156, (3), f=4
        p=2267
        (potential) stable reduction:  (II), j=432
        reduction at p: [I{1-0-0}] page 170, (1), f=1

Here are some examples of curves with modular Jacobians:

    sage: R = genus2reduction(x^3 + x + 1, -2*x^5 - 3*x^2 + 2*x - 2)
    sage: factor(R.conductor)
    23^2
    sage: factor(genus2reduction(x^3 + 1, -x^5 - 3*x^4 + 2*x^2 + 2*x - 2).conductor)
    29^2
    sage: factor(genus2reduction(x^3 + x + 1, x^5 + 2*x^4 + 2*x^3 + x^2 - x - 1).conductor)
    5^6

EXAMPLE:
    sage: genus2reduction(0, x^6 + 3*x^3 + 63)
    Reduction data about this proper smooth genus 2 curve:
            y^2 = x^6 + 3*x^3 + 63
    A Minimal Equation (away from 2):
            y^2 = x^6 + 3*x^3 + 63
    Minimal Discriminant (away from 2):  10628388316852992
    Conductor (away from 2): 2893401
    Local Data:
            p=2
            (potential) stable reduction:  (V), j1+j2=0, j1*j2=0
            p=3
            (potential) stable reduction:  (I)
            reduction at p: [III{9}] page 184, (3)^2, f=10
            p=7
            (potential) stable reduction:  (V), j1+j2=0, j1*j2=0
            reduction at p: [I{0}-II-0] page 159, (1), f=2

In the above example, Liu remarks that in fact at $p=2$, the reduction
is [II-II-0] page 163, (1), $f=8$. So the conductor of J(C) is actually
$2 \cdot 2893401=5786802$.

A MODULAR CURVE:

Consider the modular curve $X_1(13)$ defined by an equation
    $$
      y^2 + (x^3-x^2-1)y = x^2 - x.
    $$

We have:
    sage: genus2reduction(x^3-x^2-1, x^2 - x)
    Reduction data about this proper smooth genus 2 curve:
            y^2 + (x^3 - x^2 - 1)*y = x^2 - x
    A Minimal Equation (away from 2):
            y^2 = x^6 + 58*x^5 + 1401*x^4 + 18038*x^3 + 130546*x^2 + 503516*x + 808561
    Minimal Discriminant (away from 2):  169
    Conductor: 169
    Local Data:
            p=13
            (potential) stable reduction:  (V), j1+j2=0, j1*j2=0
            reduction at p: [I{0}-II-0] page 159, (1), f=2

So the curve has good reduction at 2. At $p=13$, the stable reduction is 
union of two elliptic curves, and both of them have 0 as modular invariant. 
The reduction at 13 is of type [I_0-II-0] (see Namikawa-Ueno, 
page 159). It is an elliptic curve with a cusp. The group of connected 
components of the Neron model of $J(C)$ is trivial, and the exponent 
of the conductor of $J(C)$ at $13$ is $f=2$. The conductor of $J(C)$
is $13^2$.  (Note: It is a theorem of Conrad-Edixhoven-Stein that the
component group of $J(X_1(p))$ is trivial for all primes $p$.)



Instance Methods [hide private]
 
__init__(self)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
_repr_(self) source code
 
console(self) source code
 
raw(self, Q, P)
Return the raw output of running the \code{genus2reduction} program on the hyperelliptic curve $y^2 + Q(x)y = P(x)$ as a string.
source code
 
__call__(self, Q, P) source code
 
__reduce__(self)
helper for pickle
source code

Inherited from structure.sage_object.SageObject: __hash__, __new__, __repr__, _axiom_, _axiom_init_, _gap_, _gap_init_, _gp_, _gp_init_, _interface_, _interface_init_, _interface_is_cached_, _kash_, _kash_init_, _macaulay2_, _macaulay2_init_, _magma_, _magma_init_, _maple_, _maple_init_, _mathematica_, _mathematica_init_, _maxima_, _maxima_init_, _octave_, _octave_init_, _pari_, _pari_init_, _r_init_, _sage_, _singular_, _singular_init_, category, db, dump, dumps, plot, rename, reset_name, save, version

Inherited from object: __delattr__, __getattribute__, __reduce_ex__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self)
(Constructor)

source code 
x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)

raw(self, Q, P)

source code 

Return the raw output of running the \code{genus2reduction}
program on the hyperelliptic curve $y^2 + Q(x)y = P(x)$ as a
string.

INPUT:
    Q -- something coercible to a univariate polynomial over Q.
    P -- something coercible to a univariate polynomial over Q.

OUTPUT:
    string -- raw output
    Q -- what Q was actually input to auxiliary genus2reduction program
    P -- what P was actually input to auxiliary genus2reduction program

EXAMPLES:
    sage: x = QQ['x'].0
    sage: print genus2reduction.raw(x^3 - 2*x^2 - 2*x + 1, -5*x^5)[0]
    a minimal equation over Z[1/2] is :
    y^2 = x^6-240*x^4-2550*x^3-11400*x^2-24100*x-19855
    <BLANKLINE>
    factorization of the minimal (away from 2) discriminant :
    [2,3;5,5;2267,1]
    <BLANKLINE>
    p=2
    (potential) stable reduction :  (II), j=1
    p=5
    (potential) stable reduction :  (I)
    reduction at p : [V] page 156, (3), f=4
    p=2267
    (potential) stable reduction :  (II), j=432
    reduction at p : [I{1-0-0}] page 170, (1), f=1
    <BLANKLINE>
    the prime to 2 part of the conductor is 1416875
    in factorized form : [2,0;5,4;2267,1]

__reduce__(self)

source code 
helper for pickle

Overrides: object.__reduce__
(inherited documentation)