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

  • $\begingroup$ Is there a reason you want to work with a singular model of the curve? The integral closure of the coordinate ring in its field of fractions is the coordinate ring of the normalization of the curve, which is nonsingular. Then you can just use Weil divisors on this nonsingular model. $\endgroup$ May 17 '18 at 6:27
  • $\begingroup$ @Quasicoherent: First, I want to avoid a transformation (probably a blow up). Second, I'm trying to develop a library function for general purpose use, I'm perceiving a fundamental limitation in a common method of providing input, and I want to make sure that I understand that issue correctly. $\endgroup$ May 17 '18 at 16:11
  • $\begingroup$ @Quasicoherent: That's an interesting fact about the integral closure of the coordinate ring. Do you have a reference to a proof? $\endgroup$ May 17 '18 at 19:34
  • $\begingroup$ You can find the result in standard commutative algebra textbooks including one by Eisenbud. Can you explain this part “Weil divisors, a singularity is just a single point”? Do you have an example where Cartier divisors work, but Weil divisors do not work? $\endgroup$
    – Youngsu
    May 20 '18 at 11:36
  • $\begingroup$ @Youngsu, I'm thinking of a simple singular curve, like $y^2-x^3-x^2=0$. There's a singularity at the origin. The point $(0,0)$ is a "subvariety of codimension one" - the component of a Weil divisor. However, the Riemann-Roch theorem only works if we treat the origin as if there were two points there. One way to do this is to blow up the curve and then use Weil divisors. However, I think there's another way, and that's to leave the curve alone and use Cartier divisors. I think Riemann-Roch should work fine like that, but I haven't proved it all out. $\endgroup$ May 21 '18 at 2:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.