EN FR
EN FR
New Software and Platforms
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Bibliography
New Software and Platforms
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Bibliography


Section: New Results

A fast randomized geometric algorithm for computing Riemann-Roch spaces

Participants : Aude Le Gluher, Pierre-Jean Spaenlehauer [contact] .

In [16], we proposed a probabilistic Las Vegas variant of Brill-Noether's algorithm for computing a basis of the Riemann-Roch space L(D) associated to a divisor D on a projective plane curve 𝒞 over a sufficiently large perfect field k. Our main result shows that this algorithm requires at most O(max(deg(𝒞)2ω,deg(D+)ω)) arithmetic operations in k, where ω is a feasible exponent for matrix multiplication and D+ is the smallest effective divisor such that D+D. This improves the best known upper bounds on the complexity of computing Riemann-Roch spaces. Our algorithm may fail, but we showed that provided that a few mild assumptions are satisfied, the failure probability is bounded by O(max(deg(𝒞)4,deg(D+)2)/|E|), where E is a finite subset of k in which we pick elements uniformly at random. We provide a freely available C++/NTL implementation of the proposed algorithm, and experimental data. In particular, our implementation enjoys a speed-up larger than 9 on several examples 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 g within O(gω) operations in k, which slightly improves in this context the best known complexity O(gω+ε) of Khuri-Makdisi's algorithm.