Loading [MathJax]/jax/output/HTML-CSS/jax.js

First time here? Check out the FAQ!

Ask Your Question
1

finding a point on the elliptic curve with parameter

asked 8 years ago

AB gravatar image

I wish to know how find a point on the elliptic curve y^2=X^3 A(t)X +B(t) given over Q(t) with coffecients overQ(t)?as an example:y^2=x^3+t^4x+t+t^3. ed

Preview: (hide)

2 Answers

Sort by » oldest newest most voted
0

answered 8 years ago

slelievre gravatar image

Try this:

sage: F = QQ['t'].fraction_field()
sage: t = F.gen()
sage: E = EllipticCurve(F, [t^4, t + t^3])
Preview: (hide)
link

Comments

Thank you for your reply. I try the above case, but don't show things

AB gravatar imageAB ( 8 years ago )
0

answered 8 years ago

dan_fulea gravatar image

updated 8 years ago

The elliptic curve functionality is restricted on general fields, for instance:

sage: R.<t> = QQ[]
sage: F = R.fraction_field()
sage: E = EllipticCurve(F, [1, t + t^3])
sage: E.point( (-t,0) )
(-t : 0 : 1)
sage: P = E.point( (-t,0) )
sage: P.is_finite_order()
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-39-27a368cc0c53> in <module>()
----> 1 P.is_finite_order()
::::: many lines
NotImplementedError: Computation of order of a point not implemented over general fields.

I took above a simpler curve with an obvious torsion point.

Even the method is_finite_order failed to be executed.

Although in the above case we can at least see that 2P is 0, if we ask for it:

sage: 2*P
(0 : 1 : 0)
sage: 2*P == E(0)
True

So if we get problems with the method is_finite_order, asking for the rank and/or for generators...

We can still use sage (and the own devices) to study the posted curve. After a quick pessimistic search of a polynomial x=x(t) (divided by a power of t maybe), such that x3+t4x+(t3+t) should at least have an even order of t, i've got an optimistic point of view, that there should be no point on the curve y2=x3+t4x+(t3+t) . Why? Since if there would be one, say (x,y)=( Px(t)/Qx(t) , Py(t)/Qy(t) ), then using specialization (not everywhere defined) morphisms Q(t)Q, tt0 we would get some rational points on the elliptic curves defined over Q, y2=x3+t40x+(t30+t0) . Unless there is a division by zero in the one or the other denominator, when specializing t to t0. But even so, the denominators would have been already very complicated, since...

# for t0 in [ -29..29 ]:
for t0 in [ -25, -24, -20, -8, -3, -2, 2, 8, 12, 18, 22, 24, 29 ]:
    try:
        E = EllipticCurve( QQ, ( t0^4, t0^3 + t0 ) )
        ETP = E.torsion_points()
        if len( ETP ) > 1:
            print "... t0 = %3s | rank = ? | torsion points = %s" % ( t0, ETP )
            continue
        r = E.rank()
        if r > 0:
            print "... t0 = %3s | rank = %s | torsion points = %s" % ( t0, r, ETP )
            continue
        print "*** t0 = %3s | rank = %s | torsion points = %s" % ( t0, r, ETP )
    except Exception:
        pass

And we get:

*** t0 = -25 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 = -24 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 = -20 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =  -8 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =  -3 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =  -2 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =   2 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =   8 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =  12 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =  18 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =  22 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =  24 | rank = 0 | torsion points = [(0 : 1 : 0)]
*** t0 =  29 | rank = 0 | torsion points = [(0 : 1 : 0)]

So an "unexpected" Q(t)-rational point on E is comming - in view of our first (naive) sieve - with denominators containing the factor Q=(t+25)(t+24)(t+20)(t+8)(t+3)(t+2)(t2)(t8)(t12)(t18)(t22)(t24)(t29) . (In fact Q2 and Q3 in x and y.) This is not much, from an algorithmic point of view, but a good start.

For a family with one generating point A(x(t),y(t)), we can still use the specialization to "guess" A.

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 8 years ago

Seen: 1,886 times

Last updated: Mar 18 '17