# Frobenius Endomorphism of Finite field Elliptic curve for elements

Suppose I have a elliptic curve over some finite field of characteristic $q$ and a point on that curve. How can I apply the FRobenius endomorphism $P= (x,y) \to (x^q, y^q)$ to that point.

For example:

sage: G.<x> = GF(7^2)
sage: TestCurve = EllipticCurve (G ,[4 ,1])
sage: P = TestCurve(5*x,6*x)


Now I was expecting something like

P.frobenius()


But I can not find the proper function.

edit retag close merge delete

Sort by ยป oldest newest most voted

Starting from Sage 9.8, you can simply write .frobenius_endomorphism() to construct the Frobenius endomorphism (over the .base_field() of the curve) as a "normal" isogeny which can be evaluated, composed, and so on.

With the variables from your example:

sage: pi = TestCurve.frobenius_endomorphism()
sage: pi(P)
(5*x : 6*x : 1)

more

Indeed the point P has no such method.

But its coordinates do.

Construct a new point whose coordinates are obtained from those of P by applying the frobenius to them:

sage: Q = TestCurve([a.frobenius() for a in P])
sage: Q
(2*x + 5 : x + 6 : 1)

more

Thanks. Sounds like a doable workaround. Is this a case for filing a bug report? As this is expected behavior

( 2021-06-23 10:53:13 +0200 )edit
1

Sure, why not open a ticket on the Sage Trac server.

Something like "Add frobenius method to EllipticCurvePoint_finite_field".

( 2021-06-23 12:25:54 +0200 )edit