[Next][Prev] [Right] [Left] [Up] [Index] [Root]

The 2-Selmer Group

IsDeficient(C, p) : CrvHyp, RngIntElt -> BoolElt
Returns true if the genus 2 curve C over the rationals is deficient at p. The curve is deficient if there exists no point of odd degree over Q_p on C, where p = 0 designates the infinite place.

BadPrimes(C) : CrvHyp -> SeqEnum
    Badness: RngIntElt                  Default: 1
Given a hyperelliptic curve C defined over a number field where the defining polynomials of C have integral coefficients, this function returns a sequence containing those primes p such that the given model of C has bad reduction at p.

BadPrimes(J) : JacHyp -> SeqEnum
    Badness: RngIntElt                  Default: 1
Given the Jacobian J of a hyperelliptic curve C defined over a number field where the defining polynomials of C have integral coefficients, this function returns a sequence containing those primes p such that the given model of C has bad reduction at p.

IsEven(J) : JacHyp -> BoolElt
Returns true if and only if the Jacobian J over Q is even in the sense of Poonen--Stoll, i.e. if its Shafarevich-Tate group has square order (under the assumption of finiteness).

TwoSelmerGroupData(J: parameters) : JacHyp -> RngIntElt, RngIntElt, Tup, List
    BoundType: MonStgElt                Default: "Default"
    Bound: RngIntElt                    Default: 0
    Points: {JacHyp}                    Default: {}
    UseUnits: BoolElt                   Default: true
    Fields: SetEnum                     Default: {}
Returns defining data for the 2-Selmer group of the Jacobian J over Q. Three values are returned. The first value is the upper bound for the Mordell--Weil rank deduced from the computation, and the second is the dimension of the Selmer group. The third value, only defined when UseUnits is true, gives a presentation of the fake Selmer group. The form of the return value is a triple < B_1, B_2, B_3 >, where B_1 is a sequence of elements in L = Q[x]/(f(x)) representing a basis of some subgroup S_1 of L^ * /(L^ * )^2, and B_2 and B_3 are sequences of integers representing bases of subgroups S_2 and S_3 of Q^ * /(Q^ * )^2, respectively. The fake Selmer group S is then defined by the exact sequence 0 -> S_3 -> S_2 -> S_1 -> S -> 0.

The parameters BoundType and Bound determine the bound parameter passed to ClassGroup. For each of the possible values for BoundType the following Bound parameter is passes to ClassGroup:

"Default": no parameter;
"Absolute": minimum of MinkowskiBound(K) and Bound;
"Relative": minimum of MinkowskiBound(K) and Floor(Bound*Log(D_K)), where D_K is the absolute value of the discriminant of K;
"Bach": minimum of MinkowskiBound(K) and BachBound(K);
"Minkowski": MinkowskiBound(K)).

If a positive Bound is specified, but no BoundType is given, then BoundType is taken to be "Absolute", and otherwise "Default" is used.

If Points is set to be a sequence or indexed set of rational points on J, they will be used to find the local images, which speeds up this part of the computation.

If UseUnits is false, the program does not attempt to compute the fundamental units of the number fields involved. This saves considerable time in many cases, but only leads to an upper bound for the dimension of the Selmer group, and the parity information is lost.

The parameter Fields can be used to pass a sequence or set of number fields to the algorithm. If one of the fields coming up in the computation is isomorphic to one of the given fields, the given field will be used. This can be useful if the class and unit groups of these fields are already known.


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]