1 | initial version |

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
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.