README file for programs mwrank, findinf, ratpoint There are three main programs in this distribution, called mwrank, findinf and ratpoint. The first two work on elliptic curves over Q given by Weierstrass equations with standard coefficients [a1,a2,a3,a4,a6]. If the input curve is non-minimal or non-standard (where standard means a1,a3 in {0,1} and a2 in {-1,0,1}) the input curve is replaced by a standard minimal model, and points found are transferred back to the original input model. The programs tell you when the model is changed. In all cases there are 2 possible input formats for curves: [a1,a2,a3,a4,a6] a1 a2 a3 a4 a6 So if the first character read is '[' it expects a single non-space delimiter between coefficients and one at the end; otherwise it expects 5 integers separated by space. If the input is invalid the programs stop, so you can use 0 0 0 0 0 to end the input stream. findinf searches for points on the curves up to a given bound on the logarithmic height, using sieving. One can opt for either seeing all points as they are found (verbose=1) or nothing until a final report (verbose=0); also, if verbose=1 then one can opt for a simple list of the points found, with no post-processing, or a full processing of the points to find linear dependencies between them using the height pairing. The "regulator" output is just the regulator of the subgroup of points found. Currently the sieve is based on Michael Stoll's programme (which originated with a program of Elkies, with developments by Stoll and Colin Stahlke). Added in Jan 2005: the subgroup of points found is (by default) automatically saturated at the end. mwrank is described more fully in the file mwrank.info. Briefly, mwrank does a 2-descent to determine the rank and gives points covering the cosets of 2E(Q) in E(Q); it then goes on to complete to a Mordell-Weil basis via a sieve-based saturation process after determining an upper bound for the index. ratpoint works with quartics g(x) with integer coefficients, g(x)=a*x^4+b*x^3+c*x^2+d*x+e. It finds the Jacobian E of the curve C:y^2=g(x), searches C for rational points and maps any point found to E using the 2-covering map. Current version quits as soon as one point on C is found. Other programs: tmrank is a version of mwrank designed for testing with the input file tmrank.in. Each line of tmrank.in contains a curve and its correct rank, and tmrank uses mwrank to compute the rank and checks the result. tate: Runs Tate's algorithm, outputs detail of reduction types etc. conductor: just output conductor torsion: outputs number (and optionally structure) of torsion points allisog: find the complete isogeny class of the input curve by computing a succession of isogenies of prime degree. WARNING: this is unreliable and causes lots of warning messages if run in standard precision. With higher precision (under LiDIA) it is reliable, though a lot slower. I also have a Pari/GP program to do the same thing, available on request. These four can be run interactively (by entering "tty" for the input filename at the prompt) or in batch mode by entering the filename. The file should contain a list of curves in the standard format, with [0,0,0,0,0] to terminate cleanly. twist: computes quadratic twists of a given curve, giving their minimal models etc. Interactive. indep: tests whether given points on a curve are independent, using 2-descent NOT heights. Test with "indep < e23". Systems supported: no binaries are now provided, only source. Sources: mwrank.tar.gz is a gzipped tar file of the distribution. It requires pre-installation of NTL. This NTL version may be used with or without multiprecision floating point (see mwrank.info for more details). John Cremona john.cremona@gmail.com original: 6/2/95 updated: 7/8/95, 12/1/98, 20/4/00, 16/8/00, 5/7/01, 7/1/05, 10/5/05, 31/12/11