I'm implementing basis computation of Riemann-Roch spaces in Sage, and I'm puzzling over how to specify the divisor being input. Assume we're given a projective (but not necessarily non-singular) curve.
Places on the curve's function field are in one-to-one bijection with prime ideals of the maximal finite order (for finite places) and the maximal infinite order (for infinite places). This is proposition 5.3 in [He01], and is the natural form to provide input to [He01]'s algorithm for Riemann-Roch basis space calculation. A divisor is specified using a pair of fractional ideals, one for finite places, and one for infinite places.
Another common way of specifying places is to use ideals of the coordinate ring. So, the ideal $(x-2z, y-3z)$ would correspond to the point $(2:3:1)$ if the curve was, say, $y^2z - x^3 - z^3$.
I'm trying to figure if there's some straightforward way to convert from the second representation to the first one. I'm starting to think that there is none.
Here's my logic: Ideals in the coordinate ring correspond to (effective) Weil divisors. Why? Well, we can do a primary decomposition on them and get a set of associated prime ideals. Those correspond to subvarieties, and that implies a Weil divisor.
Yet the Riemann-Roch theorem, and the whole theory of Riemann-Roch spaces really deals with Cartier divisors, right? We need to work with a non-singular model of the curve for Riemann-Roch to hold, and Cartier divisors give us the ability to distinguish between multiple places over a singularity, while for Weil divisors, a singularity is just a single point.
Since the [He01] formulation deals with ideals of orders of the function field, this gives the power to express Cartier divisors, while ideals of the coordinate ring are only able to express Weil divisors.
So there's probably no way to easy way to make that conversion, and specifying ideals of the coordinate ring isn't a very good way to specify a divisor, because we can only specify Weil divisors that way.
Does this make sense? (and thanks for taking the time to read it)
[He01]: Florian Hess, Computing Riemann-Roch spaces in algebraic function fields and related topics, J. Symbolic Computation 33 (2002) 425-445. doi:10.1006/jsco.2001.0513