# Degree of a rational map and the corresponding map between function fields

Let $X$ and $Y$ be two curves defined over $\mathbb{F}_q$ and $f:X \rightarrow Y$ be a separable rational map. Then there is field embedding $$f^\ast : \mathbb{F}_q (Y) \rightarrow \mathbb{F}_q (X)$$ defined by $f^\ast(\alpha) = \alpha \circ f$. The degree of $f$ is then defined to be $[\mathbb{F}_q (X) : f^\ast(\mathbb{F}_q (Y))]$. If I take two curves $X$ and $Y$ in sagemath over some $\mathbb{F}_q$ in sagemath, is there any way to automatically get the map $f^\ast$ and degree of $f$?

edit retag close merge delete

Sort by » oldest newest most voted

Here is some sample code to have a concrete situation:

F.<a> = GF(25)
P2_XYZ.<X,Y,Z> = ProjectiveSpace(F, 2)
P2_STU.<S,T,U> = ProjectiveSpace(F, 2)

eqC = -(a + 1)*Y^2*Z - X^3 + Z^3
eqD =          T^2*U - S^3 + U^3

C = Curve(eqC)
D = Curve(eqD)

s, t, u = D.coordinate_ring().gens()    # not really needed below
x, y, z = C.coordinate_ring().gens()

f = C.Hom(D)( [x^5, a*y^5, z^5] )    # so S -> X^5, T -> a*Y^5, U -> Z^5 in the dual polynomial world


Then we can ask for the degree:

sage: f.degree()
5


The related function fields are:

sage: C.function_field()
Function field in Z defined by Z^3 + ((4*a + 4)*Y^2)*Z + 4
sage: D.function_field()
Function field in U defined by U^3 + T^2*U + 4


We can ask for the image of $f$:

sage: f.image()
Closed subscheme of Projective Space of dimension 2 over Finite Field in a of size 5^2 defined by:
S^3 - T^2*U - U^3

more