| Home | Trees | Indices | Help |
|---|
|
|
object --+
|
structure.sage_object.SageObject --+
|
mwrank_EllipticCurve
The \class{mwrank_EllipticCurve} class represents an MWRANK
elliptic curve.
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from Inherited from |
|||
|
|||
|
Inherited from |
|||
|
|||
Create the mwrank elliptic curve with invariants
\code{a_invs}, which is a list of $\leq 5$ \emph{integers} $a_1$,
$a_2$, $a_3$, $a_4$, and $a_6$.
If strictly less than 5 invariants are given, then the first
ones are set to 0, so, e.g., \code{[3,4]} means $a_1=a_2=a_3=0$ and
$a_4=3$, $a_6=4$.
INPUT:
ainvs -- a list of <= 5 integers
verbose -- if True, then all Selmer group computations
will be verbose. (default: False).
EXAMPLES:
We create the elliptic curve $y^2 + y = x^3 + x^2 - 2x$.
sage: e = mwrank_EllipticCurve([0, 1, 1, -2, 0])
sage: e.ainvs()
[0, 1, 1, -2, 0]
This example illustrates that omitted $a$-invariants default to $0$:
sage: e = mwrank_EllipticCurve([3, -4])
sage: e
y^2 = x^3 + 3*x - 4
sage: e.ainvs()
[0, 0, 0, 3, -4]
The entries of the input list are coerced to \class{int}.
This has the effect that for float input, the integer parts of
the input coefficients are taken.
sage: e = mwrank_EllipticCurve([3, float(-4.8)]); e
y^2 = x^3 + 3*x - 4
When you enter a singular model you get an exception:
sage: e = mwrank_EllipticCurve([0, 0])
Traceback (most recent call last):
...
ArithmeticError: Invariants (= [0, 0, 0, 0, 0]) do not describe an elliptic curve.
|
helper for pickle
|
Set the verbosity of printing of output by the 2-descent and
other functions.
INPUT:
verbosity -- bool; if True print lots of output
|
File: sage/structure/sage_object.pyx (starting at line 86)
|
Compute 2-descent data for this curve.
INPUT:
verbose -- (default: True) print what mwrank is doing
selmer_only -- (default: False) selmer_only switch
first_limit -- (default: 20) firstlim is bound on |x|+|z|
second_limit-- (default: 5) secondlim is bound on log max {|x|,|z| },
i.e. logarithmic
n_aux -- (default: -1) n_aux only relevant for general
2-descent when 2-torsion trivial; n_aux=-1 causes default
to be used (depends on method)
second_descent -- (default: True) second_descent only relevant for
descent via 2-isogeny
OUTPUT:
Nothing -- nothing is returned
|
Return the conductor of this curve, computed using Cremona's implementation of Tate's algorithm. NOTE: This is independent of PARI's. |
Bound on the rank of the curve, computed using the 2-selmer
group. This is the rank of the curve minus the rank of the
2-torsion, minus a number determined by whatever mwrank was
able to determine related to $\Sha(E)[2]$ (e.g., using a
second descent or if there is a rational $2$-torsion point,
then there may be an isogeny to a curve with trivial
$\Sha(E)$). In many cases, this is the actual rank of the
curve, but in general it is just $\geq$ the true rank.
EXAMPLES:
The following is the curve 960D1, which has rank 0,
but Sha of order 4.
sage: E = mwrank_EllipticCurve([0, -1, 0, -900, -10098])
sage: E.selmer_rank_bound()
0
In this case this was resolved using a second descent.
sage: E = mwrank_EllipticCurve([0, -1, 0, -900, -10098])
sage: E.two_descent(second_descent = False, verbose=False)
sage: E.selmer_rank_bound()
2
Above, the \method{selmer_rank_bound} gives 0 instead of 2,
because it knows Sha is nontrivial. In contrast, for the
curve 571A, also with rank 0 and $\Sha$ of order 4, we obtain
a worse bound:
sage: E = mwrank_EllipticCurve([0, -1, 1, -929, -10595])
sage: E.selmer_rank_bound()
2
sage: E.rank()
0
|
Return the regulator of the saturated Mordell-Weil group.
sage: E = mwrank_EllipticCurve([0, 0, 1, -1, 0])
sage: E.regulator()
0.05111140823996884
|
Compute the saturation of the Mordell-Weil group at all
primes up to bound.
INPUT:
bound -- int (default: -1) -1 saturate at *all* primes,
0 -- do not saturate
n -- saturate at least at all primes <= n.
|
True if the last \method{two_descent} call provably correctly
computed the rank. If \method{two_descent} hasn't been
called, then it is first called by \method{certain}
using the default parameters.
EXAMPLES:
A $2$-descent does not determine $E(\Q)$ with certainty
for the curve $y^2 + y = x^3 - x^2 - 120x - 2183$.
sage: E = mwrank_EllipticCurve([0, -1, 1, -120, -2183])
sage: E.two_descent(False)
...
sage: E.certain()
False
sage: E.rank()
0
The rank of $E$is actually 0 (as one could see by computing
the L-function), but $\Sha$ has order 4 and the $2$-torsion is
trivial, so mwrank does not conclusively determine the rank.
sage: E.selmer_rank_bound()
2
|
Return the Cremona-Prickett-Siksek height bound. This is a
floating point number $B$ such that if $P$ is a point on the curve,
then the naive logarithmetic height of $P$ is off from the
canonical height by at most $B$.
\begin{notice}
We assume the model is minimal!
\end{notice}
|
Return the Silverman height bound. This is a number $B$ such
that if $P$ is a point on the curve, then the naive
logarithmetic height of $P$ is off from the canonical height by
at most $B$.
\begin{notice}
We assume the model is minimal!
\end{notice}
|
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0beta1 on Thu Jul 17 04:23:43 2008 | http://epydoc.sourceforge.net |