[Next][Prev] [Right] [Left] [Up] [Index] [Root]
ACKNOWLEDGEMENTS
The Magma system has benefited enormously from contributions made by
many members of the mathematical community. We list below those persons
and research groups who have given the project substantial assistance
either by allowing us to adapt their software for inclusion within
Magma or through general advice and criticism. We wish to express our
gratitude both to the people listed here and to all those others who
participated in some aspect of the Magma development.
- Michel Berkelaar (Eindhoven) kindly gave us
permission to incorporate his lp_solve package for linear
programming.
- A database of all groups having order at most 1000,
excepting orders 512 and 768 has been made available by Hans
Ulrich Besche and Bettina Eick. This library incorporates
"directly" the libraries of 2-groups of order dividing 256 and the
3-groups of order dividing 729, which were prepared and distributed at
various intervals by M.F. Newman and E.A. O'Brien and
various assistants, the first release dating from 1987.
- A facility for computing with arbitrary but fixed
precision reals was based on Richard Brent's (ANU) FORTRAN
package MP. Richard has also made available his database of
221, 122 factorizations of integers of the form p^n +- 1, together
with his intelligent factorization code FACTOR.
- The soluble quotient algorithm in Magma was designed
and implemented by Herbert Brückner (Aachen).
- The package for homological algebra has been developed
by Jon F. Carlson (Athens, GA). Jon has also contributed numerous
ideas to the design of module theory in Magma.
- Stefi Cavallar (CWI, Amsterdam) has adapted her
code for filtering relations in the CWI Number Field Sieve so as to
run as part of the Magma Number Field Sieve.
- Machinery for groups of Lie type and related families
of groups has been developed by Arjeh Cohen (Eindhoven),
Scott Murray (Sydney, Eindhoven) and Don Taylor (Sydney).
- The group headed by Henri Cohen (Bordeaux) made
available parts of their Pari system for computational
number theory for inclusion in Magma. Pascal Letard of the
Pari group visited Sydney for two months in 1994 and recoded
large sections of Pari for Magma. The Pari facilities
installed in Magma include arithmetic for real and complex fields
(the `free' model), approximately 100 special functions for real and
complex numbers, quadratic fields and other features.
- The Magma facility for determining the Mordell-Weil
group of an elliptic curve over the rational field is heavily based on
John Cremona's mwrank package. The database of elliptic
curves of conductor up to 10,000 prepared by John Cremona is also included.
- Various point-counting algorithms for hyperelliptic curves
have been implemented by Pierrick Gaudry (Ecole Polytechnique, Paris). These
include an implementation of the Schoof algorithm for genus 2 curves.
- Greg Gamble (UWA) helped refine the concept of a
G-set for a permutation group and drafted several sections of the chapter
on permutation groups.
- Xavier Gourdon (INRIA, Paris) made available his
C implementation of A. Schön-hage's splitting-circle algorithm for
the fast computation of the roots of a polynomial to a specified precision.
Xavier also assisted with the adaptation of his code for the Magma kernel.
- The major structural machinery for Lie algebras has
been implemented for Magma by Willem de Graaf (Utrecht) and is
based on his ELIAS package originally written in GAP.
- The construction of a database of Best Known Linear Codes
over GF(2) was a joint project with Markus Grassl (IAKS, Karlsruhe).
Other contributors to this project include: Andries Brouwer,
Zhi Chen, Stephan Grosse, Aaron Gulliver, Ray Hill,
David Jaffe, Simon Litsyn, James B. Shearer and
Henk van Tilborg. Markus Grassl has also made many other
contributions to the Magma coding theory machinery.
- A Magma package for calculating Igusa and other
invariants for genus 2 hyperelliptic curves functions was written
by Everett Howe and is based on some gp routines developed
by Fernando Rodriguez--Villegas as part of the Computational
Number Theory project funded by a TARP grant.
- Charles Leedham--Green (QMW) has worked with
the Magma group on the design of a large number of algorithms for
soluble groups and local fields during several visits to Sydney.
- Magma V2.8 employs the Advanced Coset Enumerator
designed by George Havas (Queensland) and implemented by
Colin Ramsay (also of Queensland). George has also contributed
to the design of the machinery for finitely presented groups.
- The computation of the automorphism group of a
permutation groups is performed by code written by Derek Holt
(Warwick). Cohomology calculations for permutation groups are implemented
by a program written by Derek. His program, kbmag, for monoids
and automatic groups has also been installed in Magma. Derek has
contributed extensively to the design of algorithms in module theory
and permutation groups.
- Alexander Hulpke has made available his database of
all transitive permutation groups of degree up to 22. This incorporates
the earlier database of Greg Butler (Concordia) and John McKay
(Concordia) containing all transitive groups of degree up to 15.
- Gregor Kemper (Heidelberg) has contributed most
of the major algorithms of the Invariant Theory module of Magma,
together with many other helpful suggestions in the area of Commutative
Algebra.
- The Magma kernel code for computing with incidence
geometries has been developed by Dimitri Leemans (Brussels).
- Two of the main integer factorization tools available
in Magma are due to Arjen K. Lenstra (Citibank) and his
collaborators. These are the elliptic curve method ECM and
a multiple polynomial quadratic sieve developed by Arjen from his
"factoring by email" MPQS during visits to Sydney in 1995
and 1998.
- The PERM package developed by Jeff Leon
(UIC) for efficient backtrack searching in permutation groups is used for
most of the permutation group constructions that employ backtrack
search. Jeff's programs for finding automorphism groups of codes,
designs and matrices are also used.
- Reynard Lercier (Rennes) provided much advice and
assistance to the Magma group concerning the implementation of
the SEA point counting algorithm for elliptic curves.
- The vector enumeration program of Steve Linton
(St. Andrews) provides Magma with the capability of constructing matrix
representations for finitely presented associative algebras.
- Automorphism groups and isomorphism testing of graphs
is performed using Brendan McKay's (ANU) program nauty
(version 2.1). Databases of graphs and machinery for generating such
databases have also been made available by Brendan.
- The NQ program of Werner Nickel (Darmstadt)
is used to compute nilpotent quotients of finitely presented groups.
- The package for recognizing large degree classical
groups over finite fields was designed and implemented by Alice
Niemeyer (Perth) and Cheryl Praeger (Perth).
- Magma incorporates a database of the maximal finite
rational subgroups of GL(n, Q) up to dimension 31. This database
is due to Gabriele Nebe (Ulm) and Wilhem Plesken (Aachen).
A database of quaternionic matrix groups constructed by Gabriele is
also included.
- Graham Norton (Queensland) has provided substantial
advice and help in the development of Z_4-codes in Magma.
- The p-quotient program, developed by Eamonn O'Brien
(Auckland) based on earlier work by George Havas and Mike
Newman (ANU), provides a key facility for studying p-groups in Magma.
Eamonn's extensions of this package for generating p-groups and
computing automorphism groups of p-groups are also included in
Magma. The corresponding sections of the Handbook were written by
Eamonn.
- Eamonn O'Brien (Auckland) has contributed a Magma implementation of
algorithms for determining the Aschbacher category of a subgroup of
GL(n, q). The corresponding sections of the Handbook were written by
Eamonn.
- The primality of integers is proven using the ECPP (Elliptic Curves and Primality Proving) package written by François Morain (Ecole Polytechnique and INRIA). The ECPP
program in turn uses the BigNum package developed jointly by INRIA and Digital PRL.
- The facilities for general number fields in Magma
are provided by the KANT V4 package developed by Michael
Pohst and collaborators, originally at Düsseldorf and now at TU, Berlin.
This package provides extensive machinery for computing with
maximal orders of number fields and their ideals, Galois groups and
function fields. Particularly
noteworthy are functions for computing the class group, the
unit group, systems of fundamental units, and subfields of a
number field.
- Miles Reid (Warwick) has been heavily involved in the
design and development of a database of K3 surfaces for Magma.
- The Magma implementation of the Dixon--Schneider
algorithm for computing the table of ordinary characters of a
finite group is based on an earlier version written for Cayley
by Gerhard Schneider (Karlsruhe).
- The low index subgroup function is implemented by code
that is based on a Pascal program written by Charlie Sims
(Rutgers). The table of primitive groups of degree up to 50 prepared
by Sims is also included.
- A collection of lattices from the on-line tables of
lattices prepared by Neil Sloane (AT&T Research) and
Gabriele Nebe (Ulm) is included in Magma V2.8.
- The functions for computing automorphism groups and
isometries of lattices are based on the AUTO and ISOM programs of
Bernd Souvignier (Nijmegen).
- The code to perform the regular expression matching
in the regexp intrinsic function comes from the V8 regexp package
by Henry Spencer (University of Toronto).
- A package for computing with modular symbols (known as
HECKE) has been developed by William Stein (Harvard). William
has also provided a package for modular forms.
- Much of the package for computing with hyperelliptic
curves has been developed by Michael Stoll (Düsseldorf).
- A package for computing with subgroups of finite index
in the group PSL(2, R) has been made available by Helena Verrill
(Hannover).