Geoff Bailey, BSc (Hons) (Sydney), [1995-]: Main interests include elliptic curves (especially those defined over the rationals), virtual machines and computer language design. Has implemented part of the elliptic curve facilities especially the calculation of Mordell-Weil groups. Other main areas of contribution include combinatorics, local fields and the Magma system internals.
John Cannon Ph.D. (Sydney), [1971-]: Research interests include computational methods in algebra, geometry, number theory and combinatorics; the design of mathematical programming languages and the integration of databases with Computer Algebra systems. Contributions include overall concept and planning, language design, specific design for many categories, numerous algorithms (especially in group theory) and general management.
Steve Donnelly, Ph.D. (Georgia) [2005-]: Research interests are in arithmetic geometry. Major contributions have been to the elliptic curve machinery with particular emphasis on descent methods.
Claus Fieker, Ph.D. (TU Berlin), [2000-]: Formerly a member of the KANT project. Research interests are in constructive algebraic number theory and, especially, relative extensions and computational class field theory. Main contributions are the development of explicit algorithmic class field theory in the case of both number and function fields. Contributed to the module theory over Dedekind domains and is currently developing generic constructive techniques for Drinfeld modules.
Damien Fisher, BSc (Advanced) (Sydney), BSc (Hons) (UNSW), [2002-]: Implemented a new package for p-adic rings and their extensions that places a strong emphasis on fast arithmetic. Played a major role in the installation (in 2004-2005) of the MPFR package in place of the previous MP and Pari real packages. Current projects focus on extensions to the Magma language, and include a Magma profiler.
Sergei Haller, Ph.D. (Eindhoven) [2004, 2006-]: Works in the area of linear algebraic groups. Implemented new algorithms for element operations in (split and twisted) groups of Lie type, non-reduced and extended root data, Cartan type Lie algebras, Galois cohomology, and cohomology of finite non-abelian groups.
Michael Harrison, Ph.D. (Cambridge,UK 1992), [2003-]: Research interests are in number theory, arithmetic and algebraic geometry. Implemented the p-adic methods for counting points on hyperelliptic curves and their Jacobians over finite fields: Kedlaya's method and the modular parameter method of Mestre. Currently working on machinery for general surfaces and cohomology for projective varieties.
Allan Steel, BA (Hons, University Medal) (Sydney), [1989-]: Has developed many of the fundamental data structures and algorithms in Magma for multiprecision integers, finite fields, matrices and modules, polynomials and Gröbner bases, aggregates, memory management, environmental features, and the package system, and has also worked on the Magma language interpreter. In collaboration, he has developed the code for lattice theory (with Bernd Souvignier), invariant theory (with Gregor Kemper) and module theory (with Jon Carlson and Derek Holt).
Damien Stehl'e, Ph.D. (Nancy) [2006]: Works in the areas of algorithmic number theory (in particular, the geometry of numbers) and computer arithmetic. Implemented the proveably correct floating-point LLL algorithm together with a number of fast non-rigorous variants.
Nicole Sutherland, BSc (Hons) (Macquarie), [1999-]: Works in the areas of number theory and algebraic geometry. Developed the machinery for Newton polygons and lazy power series and contributed to the code for local fields, number fields, modules over Dedekind domains, function fields, schemes and has done some work with Algebras.
Bill Unger, Ph.D. (Sydney), [1998-]: Works in computational group theory, with particular emphasis on algorithms for permutation and matrix groups. Implemented many of the current permutation and matrix group algorithms for Magma, in particular BSGS verification, solvable radical and chief series algorithms. Recently developed a new method for computing character tables of finite groups.
John Voight, Ph.D. (Berkeley) [2005-]: Works in the area of algebraic number theory and arithmetic geometry. Implemented algorithms for quaternion algebras (including recognition functions, and computation of maximal orders and ideal classes over number fields), associative orders (with Nicole Sutherland), and Shimura curves.
Greg White, BSc (Hons) (Sydney), [2000-]: Research interests include cryptography and coding theory. Contributions include a database of best known linear codes database for binary and quaternary codes, machinery for codes over finite rings, and a package for Young Tableaux. Current projects include discrete logarithms in finite fields and quantum error correcting codes.
Wieb Bosma, [1989-1996]: Responsible for the initial development of number theory in Magma and the coordination of work on commutative rings. Also has continuing involvement with the design of Magma.
Gavin Brown,[1998-2001]: Developed code in basic algebraic geometry, applications of Gr{öbner bases, number field and function field kernel operations; applications of Hilbert series to lists of varieties.
Herbert Brückner, [1998--1999]: Developed code for constructing the ordinary irreducible representations of a finite soluble group and the maximal finite soluble quotient of a finitely presented group.
Nils Bruin, [2002--2003]: Contributions include Selmer groups of elliptic curves and hyperelliptic Jacobians over arbitrary number fields, local solubility testing for arbitrary projective varieties and curves, Chabauty-type computations on Weil-restrictions of elliptic curves and some algorithms for, and partial design of, the differential rings module.
Bruce Cox, [1990--1998]: A member of the team that worked on the design of the Magma language. Responsible for implementing much of the first generation Magma machinery for permutation and matrix groups.
Alexandra Flynn, [1995--1998]: Incorporated various Pari modules into Magma, and developed much of the machinery for designs and finite planes.
Volker Gebhardt, [1999--2003]: Author of the Magma categories for infinite polycyclic groups and for braid groups. Other contributions include machinery for general finitely presented groups.
Katharina Gei ss ler, [1999--2001]: Developed the code for computing Galois groups of number fields and function fields.
Willem de Graaf, [2004-2005]: Contributed functions for computing with finite-dimensional Lie algebras, finitely-presented Lie algebras, universal enveloping algebras and quantum groups.
Emanuel Herrmann, [1999]: Developed code for computing integral points and S-integral points on elliptic curves.
Florian He ss, [1999--2001]: Developed a substantial part of the algebraic function field module in Magma including algorithms for the computation of Riemann-Roch spaces and class groups. His most recent contribution (2005) is a package for computing all isomorphisms between a pair of function fields.
David Kohel, [1999--2002]: Contributions include a model for schemes (with G Brown); algorithms for curves of low genus; implementation of elliptic curves, binary quadratic forms, quaternion algebras, Brandt modules, spinor genera and genera of lattices, modular curves, conics (with P Lieby), modules of supersingular points (with W Stein), Witt rings.
Paulette Lieby, [1999--2003]: Contributed to the development of algorithms for algebraic geometry, abelian groups and incidence structures. Developed datastructures for multigraphs and implemented algorithms for planarity, triconnectivity and network flows.
Graham Matthews, [1989--1993]: Involved in the design of the Magma semantics, user interface, and internal organisation.
Richard Rannard, [1997--1998]: Contributed to the code for elliptic curves over finite fields including a first version of the SEA algorithm.
Colva M. Roney-Dougal, [2001--2003]: Completed the classification of primitive permutation groups up to degree 999 (with Bill Unger). Also undertook a constructive classification of the maximal subgroups of the classical simple groups.
Michael Slattery, [1987--2006]: Contributed a large part of the machinery for finite soluble groups including subgroup lattice and automorphism group.
Ben Smith, [2000--2003]: Contributed to an implementation of the Number Field Sieve and a package for integer linear programming.
Bernd Souvignier, [1996--1997]: Contributed to the development of algorithms and code for lattices, local fields, finite dimensional algebras and permutation groups.
Alexa van der Waall, [2003]: Implemented the module for differential Galois theory.
Paul B. van Wamelen, [2002--2003]: Implemented analytic Jacobians of hyperelliptic curves in Magma.
Mark Watkins, [2003, 2004-2005]: Implemented a range of analytic tools for the study of elliptic curves including analytic rank, modular degree, set of curves Q-isogenous to a given curve, 4-descent, Heegner points and other point searching methods.
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.
Constructive recognition of quasi-simple groups belonging to the Suzuki and Ree families has been implemented by Hendrik Bäärnhielm (QMUL). The package includes code for constructing the Sylow p-subgroups of Suzuki and Ree groups.
A database of all groups having order at most 2000, excluding order 1024 has been made available by Hans Ulrich Besche (Aachen), Bettina Eick (Braunschweig), and Eamonn O'Brien (Auckland). 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 Mike Newman (ANU) and Eamonn O'Brien and various assistants, the first release dating from 1987.
Peter Brooksbank (Ohio) gave the Magma group permission to base its implementation of the Kantor-Seress algorithm for black-box recognition of linear, symplectic and unitary groups on his GAP implementations.
The soluble quotient algorithm in Magma was designed and implemented by Herbert Brückner (Aachen).
Michael Downward and Eamonn O'Brien (Auckland) provided functions to access much of the data in the on-line Atlas of Finite Simple Groups for the sporadic groups. A function to select "good" base points for sporadic groups was provided by Eamonn and Robert Wilson (London).
A new algorithm for computing all normal subgroups of a finitely presented group up to a specified index has been designed and implemented by David Firth and Derek Holt.
Derek Holt (Warwick) has implemented his algorithm for testing whether two finitely presented groups are isomorphic in Magma.
Procedures to list irreducible (soluble) subgroups of GL(2, q) and GL(3, q) for arbitrary q are provided by Dane Flannery (Galway) and Eamonn O'Brien (Auckland).
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.
The descriptions of the groups of order p^4, p^5, p^6, p^7 for p>3 were contributed by Boris Girnat, Robert McKibbin, Mike Newman, Eamonn O'Brien, and Mike Vaughan-Lee.
Versions of Magma from V2.8 onwards employ 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.
Machinery for computing group cohomology and for producing group extensions has been provided by Derek Holt (Warwick). There are two parts to this machinery. The first part comprises Derek's older C-language package for permutation groups while the second part comprises a recent Magma language package for group cohomology.
Calculation of automorphism groups (for permutation and matrix groups) and determining group isomorphism (for finite groups) is performed by code written by Derek Holt (Warwick).
Derek Holt (Warwick) developed a modified version of his program, kbmag, for inclusion within Magma. The Magma facilities for groups and monoids defined by confluent rewrite systems, as well as automatic groups, are supported by this code.
Derek Holt (Warwick) has implemented the Magma version of the Bratus/Pak algorithm for black-box recognition of the symmetric and alternating groups.
The function for determining whether a given finite permutation group is a homomorphic image of a finitely presented group has been implemented in C by Volker Gebhardt (Magma) from a Magma language prototype developed by Derek Holt (Warwick).
Alexander Hulpke (Colorado State) has made available his database of all transitive permutation groups of degree up to 30. This incorporates the earlier database of Greg Butler (Concordia) and John McKay (Concordia) containing all transitive groups of degree up to 15.
Most of the algorithms for p-groups and many of the algorithms implemented in Magma for finite soluble groups are largely due to Charles Leedham--Green (QMW, London).
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.
A Monte-Carlo algorithm to determine the defining characteristic of a quasisimple group of Lie type has been contributed by Martin Liebeck (Imperial) and Eamonn O'Brien (Auckland).
A Monte-Carlo algorithm for non-constructive recognition of simple groups has been contributed by Gunter Malle (Kaiserslautern) and Eamonn O'Brien (Auckland). This procedure includes the algorithm of Babai et al. to name a quasisimple group of Lie type.
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 Wilhelm Plesken (Aachen). A database of quaternionic matrix groups constructed by Gabriele is also included.
A function that determines whether a matrix group G (defined over a finite field) is the normaliser of an extraspecial group in the case where the degree of G is an odd prime uses the new Monte-Carlo algorithm of Alice Niemeyer (Perth) and has been implemented in Magma by Eamonn O'Brien (Auckland).
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). It has been extended to include 2-dimensional linear groups by Eamonn O'Brien (Auckland).
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 in Magma of this package for generating p-groups, computing automorphism groups of p-groups, and deciding isomorphism of p-groups are also included. He has contributed software to count certain classes of p-groups and to construct central extensions of soluble groups.
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.
Eamonn O'Brien (Auckland) has provided implementations of constructive recognition algorithms for matrix groups as either (P)SL(2, q) or (P)SL(3, q).
The package for classifying metacyclic p-groups has been developed by Eamonn O'Brien (Auckland) and Mike Vaughan-Lee (Oxford).
A fast algorithm for determining subgroup conjugacy based on Aschbacher's theorem classifying the maximal subgroups of a linear group has been designed and implemented by Colva Roney-Dougal (Sydney).
Colva Roney-Dougal (Sydney) has implemented the Beals et al algorithm for black-box recognition of the symmetric and alternating groups.
A package for constructing the Sylow p-subgroups of the classical groups has been implemented by Mark Stather (Warwick).
Generators for matrix representations for groups of Lie type were constructed and implemented by Don Taylor (Sydney) with some assistance from Leanne Rylands (Western Sydney).
The low index subgroup function is implemented by code that is based on a Pascal program written by Charlie Sims (Rutgers).
A package for computing with subgroups of finite index in the group PSL(2, R) has been developed by Helena Verrill (Hannover).
A Magma database has been constructed from the permutation and matrix representations contained in the on-line Atlas of Finite Simple Groups with the assistance of its author Robert Wilson (Birmingham).
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 237, 578 factorizations of integers of the form p^n +- 1, together with his intelligent factorization code FACTOR.
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.
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.
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.
One of the main integer factorization tools available in Magma is due to Arjen K. Lenstra (EPFL) and his collaborators: a multiple polynomial quadratic sieve developed by Arjen from his "factoring by email" MPQS during visits to Sydney in 1995 and 1998.
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 code for Coppersmith's index-calculus algorithm (used to compute logarithms in finite fields of characteristic 2) was developed by Emmanuel Thom'e (Ecole Polytechnique).
Magma uses the GMP-ECM implementation of the Elliptic Curve Method (ECM) for integer factorisation. This was developed by Paul Zimmermann (Nancy).
Some portions of the GNU GMP multiprecision integer library (http://swox.com/gmp) are used for integer multiplication.
Most real and complex arithmetic in Magma is based on the MPFR package which is being developed by Paul Zimmermann (Nancy) and associates. (See www.mpfr.org).
The algebraic function field module in Magma is based on machinery developed in KANT. It was further developed by Florian He ss (TU Berlin) while at the University of Sydney over the period September, 1999 - January, 2001. In 2005 Florian contributed a major package for determining all isomorphisms between a pair of algebraic function fields.
David Kohel (Singapore, Sydney) has contributed to the machinery for binary quadratic forms and has implemented rings of Witt vectors.
Jürgen Klüners (Kassel) has made major contributions to the Galois theory machinery for function fields and number fields. In particular, he implemented the subfield and automorphism group functions as well as the computation of the subfield lattice of the normal closure of a field.
Jürgen Klüners (Kassel) and Gunter Malle (Kassel) made available their extensive tables of polynomials realising all Galois groups over Q up to degree 15.
Sebastian Pauli (TU Berlin) has implemented his algorithm for factoring polynomials over local fields within Magma. This algorithm may also be used for the factorization of ideals, the computation of completions of global fields, and for splitting extensions of local fields into towers of unramified and totally ramified extensions.
Class fields over local fields are computed using a new algorithm and implementation due to Sebastian Pauli (TU Berlin).
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.
The functions for computing automorphism groups and isometries of lattices are based on the AUTO and ISOM programs of Bernd Souvignier (Nijmegen).
The packages for chain complexes and basic algebras have been developed by Jon F. Carlson (Athens, GA).
Derek Holt (Warwick) has made a number of important contributions to the design of the module theory algorithms employed in Magma.
Charles Leedham-Green (QMW, London) was responsible for the original versions of the submodule lattice and endomorphism ring algorithms.
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.
Parts of the ATLAS (Automatically Tuned Linear Algebra Software) of R. Clint Whaley et al. are used for some fundamental matrix algorithms over machine-int-sized prime finite fields.
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.
Quaternion algebras over the rational field Q have been implemented by David Kohel (Singapore, Sydney).
The vector enumeration program of Steve Linton (St. Andrews) provides Magma with the capability of constructing matrix representations for finitely presented associative algebras.
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).
John Voight generalised the machinery for quaternion algebras to apply to algebras over number fields.
The major structural machinery for Lie algebras has been implemented for Magma by Willem de Graaf (Utrecht) and is based on his ELIAS package written in GAP.
A fast algorithm for multiplying Coxeter group elements has been designed and implemented by Bob Howlett (Sydney).
The original version of the code for root systems and permutation Coxeter groups was modelled, in part, on the Chevie package of GAP and implemented by Don Taylor (Sydney) with the assistance of Frank Lübeck (Aachen).
The current version of Lie theory in Magma has been implemented by Scott H. Murray (Sydney) with some assistance from Don Taylor (Sydney). It includes the three contributions listed immediately above.
Functions that construct any finite irreducible unitary reflection group in C^n have been implemented by Don Taylor (Sydney). Extension to the infinite case was implemented by Scott H. Murray (Sydney).
The machinery for working with Hilbert series of polarised varieties and the associated databases of K3 surfaces and Fano 3-folds has been constructed by Gavin Brown (Warwick).
The Magma facility for determining the Mordell-Weil group of an elliptic curve over the rational field is based on the mwrank programs of John Cremona (Nottingham).
John Cremona (Nottingham) has contributed his code implementing Tate's algorithm for computing local minimal models for elliptic curves defined over number fields.
The widely-used database of all elliptic curves over Q having conductor up to 130,000 constructed by John Cremona (Nottingham) is also included.
The implementation of 3-descent on elliptic curves that is available in Magma is mainly due to John Cremona (Nottingham) and Michael Stoll (Bremen).
Tim Dokchitser (Edinburgh) has implemented his techniques for computing special values of motivic L-functions in Magma.
A package contributed by Tom Fisher (Cambridge) deals with curves of genus 1 given by models of a special kind (genus one normal curves) having degree 2, 3, 4 and 5.
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.
Martine Girard (Sydney) has contributed her fast code for determining the heights of a point on an elliptic curve defined over a number field or a function field.
A Magma package for calculating Igusa and other invariants for genus 2 hyperelliptic curves functions was written by Everett Howe (CCR, San Diego) and is based on gp routines developed by Fernando Rodriguez--Villegas (Texas) as part of the Computational Number Theory project funded by a TARP grant.
Hendrik Hubrechts (Leuven) has made available his package for point-counting and computing zeta-functions using deformation methods for parametrized families of hyperelliptic curves and their Jacobians in small, odd characteristic.
David Kohel (Singapore, Sydney) has provided implementations of division polynomials and isogeny structures for elliptic curves, Brandt modules and modular curves. He developed the machinery for conics with Paulette Lieby (Magma), and, jointly with William Stein (Harvard), he implemented the module of supersingular points.
Reynard Lercier (Rennes) provided much advice and assistance to the Magma group concerning the implementation of the SEA point counting algorithm for elliptic curves.
Miles Reid (Warwick) has been heavily involved in the design and development of a database of K3 surfaces within Magma.
Jasper Scholten (Leuven) has developed much of the code for computing with elliptic curves over function fields.
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.
In 2003--2004, William Stein (Harvard) developed extensive machinery for computing with modular abelian varieties within Magma.
A database of 136, 924, 520 elliptic curves with conductors up to 10^8 has been provided by William Stein (Harvard) and Mark Watkins (Penn State).
Much of the initial development of the package for computing with hyperelliptic curves is due to Michael Stoll (Düsseldorf).
Tom Womack (Nottingham) contributed code for performing four-descent and for locating Heegner points on an elliptic curve.
Michel Berkelaar (Eindhoven) gave us permission to incorporate his lp_solve package for linear programming.
The first stage of the Magma database of Hadamard and skew-Hadamard matrices was prepared with the assistance of Stelios Georgiou (Athens), Ilias Kotsireas (Wilfrid Laurier) and Christos Koukouvinos (Athens). In particular, they made available their tables of Hadamard matrices of orders 32, 36, 44, 48 and 52.
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.
The databases of Best Known Linear Codes over GF(3) and GF(4) were constructed by Markus Grassl (IAKS, Karlsruhe).
The Magma machinery for symmetric functions is based on the Symmetrica package developed by Abalbert Kerber (Bayreuth) and colleagues. The Magma version was implemented by Axel Kohnert of the Bayreuth group.
The Magma kernel code for computing with incidence geometries has been developed by Dimitri Leemans (Brussels).
The PERM package developed by Jeff Leon (UIC) is used to determine automorphism groups of codes, designs and matrices.
The calculation of the automorphism groups of graphs and the determination of graph isomorphism is performed using Brendan McKay's (ANU) program nauty (version 2.2). Databases of graphs and machinery for generating such databases have also been made available by Brendan. He has also collaborated in the design of the sparse graph machinery.
Graham Norton (Queensland) has provided substantial advice and help in the development of Z_4-codes in Magma.
The code to perform the regular expression matching in the regexp intrinsic function comes from the V8 regexp package by Henry Spencer (Toronto).
The Handbook of Magma Functions is the work of many individuals. It was based on a similar Handbook written for Cayley in 1990. Up until 1997 the Handbook was mainly written by Wieb Bosma, John Cannon and Allan Steel but in more recent times, as Magma expanded into new areas of mathematics, additional people became involved. It is not uncommon for some chapters to comprise contributions from 8 to 10 people. Because of the complexity and dynamic nature of chapter authorship, rather than ascribe chapter authors, in the table below we attempt to list those people who have made significant contributions to chapters.
We distinguish between:
Principal Author, i.e. one who primarily conceived
the core element(s) of a chapter and who was also responsible for the
writing of a large part of its current content, and
Contributing Author, i.e. one who has written a
significant amount of content but who has not had primary
responsibility for chapter design and overall content.
It should be noted that attribution of a person as an author of a chapter carries no implications about the authorship of the associated computer code: for some chapters it will be true that the author(s) listed for a chapter are also the authors of the corresponding code, but in many chapters this is either not the case or only partly true. Some information about code authorship may be found in the sections Magma Development Team and External Contributors.
The attributions given below reflect the authorship of the material comprising the {V version} edition. Since many of the authors have since moved on to other careers, we have not been able to check that all of the attributions below are completely correct. We would appreciate hearing of any omissions.
In the chapter listing that follows, for each chapter the start of the
list of principal authors (if any) is denoted by
while the
start of the list of contributing authors is denoted by
.
People who have made minor contributions to one or more chapters are listed in a general acknowledgement following the chapter listing.
In addition to the contributors listed above, we gratefully acknowledge the contributions to the Handbook made by the following people: