English

A Fast Randomized Geometric Algorithm for Computing Riemann-Roch Spaces

Symbolic Computation 2020-10-20 v8 Computational Complexity Algebraic Geometry

Abstract

We propose a probabilistic variant of Brill-Noether's algorithm for computing a basis of the Riemann-Roch space L(D)L(D) associated to a divisor DD on a projective nodal plane curve C\mathcal C over a sufficiently large perfect field kk. Our main result shows that this algorithm requires at most O(max(deg(C)2ω,deg(D+)ω))O(\max(\mathrm{deg}(\mathcal C)^{2\omega}, \mathrm{deg}(D_+)^\omega)) arithmetic operations in kk, where ω\omega is a feasible exponent for matrix multiplication and D+D_+ is the smallest effective divisor such that D+DD_+\geq D. This improves the best known upper bounds on the complexity of computing Riemann-Roch spaces. Our algorithm may fail, but we show that provided that a few mild assumptions are satisfied, the failure probability is bounded by O(max(deg(C)4,deg(D+)2)/E)O(\max(\mathrm{deg}(\mathcal C)^4, \mathrm{deg}(D_+)^2)/\lvert \mathcal E\rvert), where E\mathcal E is a finite subset of kk in which we pick elements uniformly at random. We provide a freely available C++/NTL implementation of the proposed algorithm and we present experimental data. In particular, our implementation enjoys a speedup larger than 6 on many examples (and larger than 200 on some instances over large finite fields) compared to the reference implementation in the Magma computer algebra system. As a by-product, our algorithm also yields a method for computing the group law on the Jacobian of a smooth plane curve of genus gg within O(gω)O(g^\omega) operations in kk, which equals the best known complexity for this problem.

Keywords

Cite

@article{arxiv.1811.08237,
  title  = {A Fast Randomized Geometric Algorithm for Computing Riemann-Roch Spaces},
  author = {Aude Le Gluher and Pierre-Jean Spaenlehauer},
  journal= {arXiv preprint arXiv:1811.08237},
  year   = {2020}
}
R2 v1 2026-06-23T05:22:06.493Z