Michael Stoll
Mathematisches Institut
Universität Bayreuth
95440 Bayreuth, Germany

Program Files and Packages


This is a program that uses an optimized quadratic sieve algorithm in order to find rational points on hyperelliptic curves.

The program is distributed under the GNU GPL, version 2 (or later).

Read the documentation.  arXiv (the arXiv version may not be completely up to date)

The current version is ratpoints-2.1.3, March 10, 2011. This version of 2.1.3 corrects a small bug in the test program rptest.
As of version 2.1.1, the program uses SSE instructions on x86 processors to allow for faster sieving.

Download ratpoints-2.1.3.tar.gz.


J-points searches for rational points on the Jacobian of a genus 2 curve. This is done by searching for points on the associated Kummer Surface that lift to the Jacobian. The implementation is based on a fast quadratic sieve algorithm.


  • Version 1.1 fixes a bug that caused j-points-1.0 to miss points in some (rather specific) cases (August 10, 2006).
  • Version 1.2 (of April 14, 2016) lifts the height bound on the resulting points (previously the coordinates had to be machine-size integers) when the '-a' option is given. This is important in the context of using the improved height difference bounds in this paper.

Download j-points-1.2.tar.gz.


CLISP is a Common Lisp implementation that was originally started by Bruno Haible and myself. I am no longer active as a developer. See the CLISP Website for more information.


This is a Common Lisp program that implements “lazy reals”. You can construct real numbers from rational numbers, field operations, and the basic transcendental functions, and have them compute themselves to any desired precision afterwards. The code is essentially free (see the statement at the beginning of the file).
Note: This is meant as a case study, not as an efficient implementation.

Download reals.lisp.

Michael Stoll,  April 14, 2016