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

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

*Updated 2015-04-23*

`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-04-23).
Also archived at this
DOI.

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".

### 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. It is not relevant for `mwrank` itself.

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).

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).