Ask Your Question

Symbolic computation of multiples of a point in elliptic curve.

asked 2021-10-26 11:55:03 +0100

Artatrana gravatar image

updated 2021-10-26 21:39:11 +0100

FrédéricC gravatar image

Suppose we have an elliptic curve over the rational field $E(\mathbb{Q}).$ Let $P = (s,t)\in E(\mathbb{Q})$ be a point with $s,t$ being symbolic variables. Then we see that $n*P = (f_{n1}/g_{n1}, f_{n2}/g_{n2})$, where $f_{ni}, g_{ni}$ are polynomials in the variables $s,t.$ In SageMath after defining the curve and the symbolic variables $s$ and $t$ if I write $P = E(s,t)$, it is giving error. I am looking for method by which I can find all these polynomials in the variabls $s,t$ using SageMath.

edit retag flag offensive close merge delete


Could you please provide your current code so that we could understand the issue ?

tmonteil gravatar imagetmonteil ( 2021-10-26 12:05:22 +0100 )edit

Note that if $s,t$ are symbolic variables, then $(s,t)$ is not a pair of rational numbers, so it does not lie in $E(\mathbb{Q})$. Furthermore, if $s,t$ are just symbolic variables then $t^2\neq s^3+c_4s+c_6$ identically, since they are just independent variables. You'd want to work in a ring or field where you actually have $s,t$ that satisfy the relation required. The function field of $E$ would do.

nbruin gravatar imagenbruin ( 2021-10-26 20:43:52 +0100 )edit

1 Answer

Sort by » oldest newest most voted

answered 2021-10-28 02:19:37 +0100

Max Alekseyev gravatar image

updated 2021-10-28 06:07:07 +0100

Here a code that for a given elliptic curve $E$ and an integer $n$ returns polynomials $f_{n1}, g_{n1}, f_{n2}, g_{n2}$:

def get_poly(E, n):
  P.<s,t> = PolynomialRing(E.base_ring())
  a = E.a_invariants()
  R = P.quotient_ring(t^2 + (a[0]*s + a[2])*t - (s^3 + a[1]*s^2 + a[3]*s + a[4])).fraction_field()
  Q = E.change_ring(R)(s,t) * n
  return Q[0].numerator().lift(), Q[0].denominator().lift(), Q[1].numerator().lift(), Q[1].denominator().lift()

For example, get_poly( EllipticCurve(QQ,[1,2]), 2 ) gives:

(s*t^2 - 3*s^2 - 18*s + 1,  4*t^2,  t^4 + 3*s*t^2 - 9*s^2 + 36*t^2 - 54*s - 109,  8*t^3)
edit flag offensive delete link more

Your Answer

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

Add Answer

Question Tools

1 follower


Asked: 2021-10-26 11:55:03 +0100

Seen: 180 times

Last updated: Oct 28 '21