On some architectures, Magma uses the MPFR multiprecision floating point library, the MPC multiprecision complex floating point library, and portions of the GMP multiprecision integer library (version 4.2, March 2006). All libraries are copyright the Free Software Foundation, Inc, and have no warranty.

On AMD64 processors (Opteron, Athlon 64), Magma also uses the AMD64 assembly code of Pierrick Gaudry for the base operations (which is is superior to the official GMP 4.2 code running on AMD64 processors).

Magma directly uses parts of GMP only from the low-level mpn module (principally some multiplication functions for high-precision integers). So Magma does not use GMP exclusively for its integer functions. In fact, Magma contains an implementation of the asymptotically-fast Schönhage algorithm for GCD, extended GCD and rational reconstruction computations (which reduce these problems to multiplication), while GMP 4.2 does not have an asymptotically-fast algorithm for these problems.

To comply with the GNU Lesser General Public License v2 (point 6), we will provide to licensed Magma users on request a shared-library version of Magma which will be linkable against any future versions of the MPFR or GMP libraries. Please note that use of this will be quite unnecessary for current licensed Magma users, since all versions of Magma which use these libraries will always be kept up-to-date with the latest applicable versions; this offer is simply to comply with the GNU Lesser GPL.

On some architectures, Magma uses portions of the ATLAS library for some fundamental matrix algorithms over machine-int-sized prime finite fields. ATLAS uses a BSD-style license (see the above link); the relevant copyright disclaimer is available here.

On some architectures, Magma uses the GMP-ECM library for the elliptic curve method of integer factorisation. This is also licensed under the GNU Lesser GPL.

All relevant licenses are included with the standard Magma distribution, and can be found in the ThirdParty directory.

FAQ Index