A Fast Randomized Geometric Algorithm for Computing Riemann-Roch Spaces
Abstract
We propose a probabilistic variant of Brill-Noether's algorithm for computing a basis of the Riemann-Roch space associated to a divisor on a projective nodal plane curve over a sufficiently large perfect field . Our main result shows that this algorithm requires at most arithmetic operations in , where is a feasible exponent for matrix multiplication and is the smallest effective divisor such that . 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 , where is a finite subset of 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 within operations in , which equals the best known complexity for this problem.
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}
}