#
`eclib` (including `mwrank` and related
programs for elliptic curves over **Q**)

### by J. E. Cremona, University of Warwick, U.K.

*Updated 2015-02-28*

`mwrank` and `eclib`

`mwrank` is a program written in `C++` for computing
Mordell-Weil groups of elliptic curves over **Q** via 2-descent.
It is available as source code in the `eclib` package, which
may be distributed under the GNU General Public
License, version 2, or any later version.
`mwrank` is now only distributed as part
of `eclib`. `eclib` is also included in
Sage, and for most potential users the
easiest way to run `mwrank` is to install Sage (which also of course
gives
you much much more). I no longer provide a source code distribution
of `mwrank`
by itself: use `eclib` instead. Full source code for `eclib` is
available from github
including a full
tarball (updated 2015-02-28).

FLINT installed, but at present
it is an optional dependency.
Neither gmp
nor mpir is a dependency of eclib, though
most installations of NTL and PARI will use one of these.

Since April
2012, `eclib` uses the GNU autotools build system which should allow it
to be configured, built and installed on a wide variety of architectures
(including all those on which Sage is supported).

### Dependencies

To build `eclib` from the source code you must
have Shoup's NTL
library installed on your computer, and
the PARI library.
The PARI library is only used for integer factorization.

Some eclib linear algebra functions will benefit from
having FLINT installed, but at present
using FLINT is optional.

Neither gmp
nor mpir is a dependency of eclib, though
most installations of NTL and PARI will use one of these.

Since April
2012, `eclib` uses the GNU autotools build system which should allow it
to be configured, built and installed on a wide variety of architectures
(including all those on which Sage is supported).

### Source code

The latest version is available at github and also as a
gzipped
tar file (around 900KB). The source tarball's name has the format
eclib-YYYY-MM-DD.tgz, tagged with the release date of the
distribution. Documentation for `eclib`, including
`mwrank` and modular symbol programs, is included in the
distribution. Installation should be as easy as unpacking followed by
"./configure; make; make check; make install".

Various Magma
programs, many of which are now redundant having been incorporated
into recent Magma releases.
Various GP
scripts for elliptic curves including Heegner points. Almost all of this
is now available in the standard Pari/GP distribution since version 2.5
(version 2.6 in the case of Heegner points).