[Next][Prev] [Right] [Left] [Up] [Index] [Root]

ACKNOWLEDGEMENTS

The Magma Development Team

Current Members

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.

Brendan Creutz, Ph.D. (Jacobs University Bremen) [2011-]: Primary research interests are in arithmetic geometry. Main contributions focus on descent obstructions to the existence of rational points on curves and torsors under their Jacobians. Currently developing a package for cyclic covers of the projective line.

Steve Donnelly, Ph.D. (Athens, Ga) [2005-]: Research interests are in arithmetic geometry, particularly elliptic curves and modular forms. Major contributions include descent methods for elliptic curves (including over function fields) and Cassels-Tate pairings, classical modular forms of half-integral weight, Hilbert modular forms and fast algorithms for definite quaternion algebras. Currently working on Hilbert modular forms, and elliptic curves over number fields.

Andreas-Stephan Elsenhans, Ph.D. (Göttingen) [2012-]: Main research interests are in the areas of arithmetic and algebraic geometry, particularly cubic and K3 surfaces. Main contributions focus on cubic surfaces from the arithmetic and algebraic points of view. Currently working on the computation of invariants.

Michael Harrison, Ph.D. (Cambridge) [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 including Kedlaya's algorithm and the modular parameter method of Mestre. Currently working on machinery for general surfaces and cohomology for projective varieties.

David Howden, Ph.D. (Warwick) [2012-]: Primary research interests are in computational group theory. Main contributions focus on computing automorphism groups and isomorphism testing for soluble groups.

Allan Steel, Ph.D. (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).

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 worked on aspects of algebras.

Don Taylor, D.Phil. (Oxford), [2010-] Research interests are in reflection groups, finite group theory, and geometry. Implemented algorithms for complex reflection groups and complex root data. Contributed to the packages for Chevalley groups and groups of Lie type. Currently developing algorithms for classical groups of isometries, Clifford algebras and spin groups.

Bill Unger, Ph.D. (Sydney), [1998-]: Main area of interest is 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 discovered a new method for computing the character table of a finite group.

Mark Watkins, Ph.D. (Athens, Ga), [2003, 2004-2005, 2008-]: Works in the area of number theory, particularly analytic methods for arithmetic objects. Implemented a range of analytic tools for the study of elliptic curves including analytic rank, modular degree, Heegner points and (general) point searching methods. Also deals with conics, lattices, modular forms, and descent machinery over the rationals.

Former Members

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.

Claus Fieker, [2000-2011]: 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 and the computation of Galois groups.

Damien Fisher, [2002-2006]: Implemented a package for p-adic rings and their extensions and undertook a number of extensions to the Magma language.

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

Sergei Haller, [2004, 2006-2007]: Developed code for many aspects of Lie Theory. Of particular note was his work on the construction of twisted groups of Lie type and the determination of conjugacy classes of elements in the classical groups (jointly with Scott Murray (Magma)).

Emanuel Herrmann, [1999]: Contributed code for finding S-integral points on genus 1 curves (not elliptic curves).

Florian Heß, [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.

Alexander Kasprzyk, [2009-2010]: Developed the toric geometry and polyhedra packages (along with Gavin Brown and Jaroslaw Buczynski).

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.

Scott Murray, [2001-2002, 2004-2010]: Implemented algorithms for element operations in split groups of Lie type, representations of split groups of Lie type, split Cartan subalgebras of modular Lie algebras, and Lang's Theorem in finite reductive groups. More recently implemented solutions to conjugacy problems in the classical groups (with S. Haller and D. Taylor).

Catherine Playoust, [1989--1996]: Wrote extensive documentation and implemented an early help system. Contributed to system-wide consistency of design and functionality. Also pioneered the use of Magma for teaching undergraduates.

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.

Dan Roozemond, [2010-2012]: Research focused on the computational aspects of Lie theory. Ported algorithms for the Weight Multisets from LiE to Magma and developed a number of algorithms for reductive Lie algebras, particularly over fields of small characteristic.

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.

Damien Stehl{é, [2006, 2008-2010]: Implemented the proveably correct floating-point LLL algorithm together with a number of fast non-rigorous variants. Also developed a fast method for enumerating short vectors.

John Voight, [2005-2006]: Implemented algorithms for quaternion algebras over number fields, associative orders (with Nicole Sutherland), and Shimura curves.

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.

Greg White, [2000-2006]: Contributions include fast minimum weight determination, linear codes over Z/mZ, additive codes, LDPC codes, quantum error-correcting codes, and a database of best known linear codes (with Cannon and Grassl).

External Contributors

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.

Algebraic Geometry

A major package for algebraic surfaces providing formal desingularization, the calculation of adjoints, and rational parameterization was developed by Tobias Beck (RICAM, Linz). He also implemented a package for computing with algebraic power series. This work was done while he was a student of Josef Schicho.

A package for working with divisors on varieties has been developed by Martin Bright (American University of Beirut), Gavin Brown (Loughborough), Mike Harrison (Magma) and Andrew Wilson (Edinburgh). The functionality includes decomposition into irreducible components, Riemann-Roch spaces, canonical divisors and (surface) intersection numbers.

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

Jaroslaw Buczynski (Texas A&M), along with Gavin Brown (Loughborough) and Alexander Kasprzyk (Imperial College), developed the toric geometry and polyhedra packages.

Functions for computing Shioda invariants for genus 3 hyperelliptic curves, reconstructing models for a curve from such invariants and computing geometric automorphism groups have been contributed by Reynald Lercier (DGA, Rennes) and Christophe Ritzenthaler (Luminy).

Jana Pilnikova (Univerzita Komenskeho, Bratislava) (while a student of Josef Schicho in Linz) contributed code for the parameterization of degree 8 and 9 Del Pezzo surfaces, jointly written with Willem de Graaf (Trento).

Miles Reid (Warwick) has been heavily involved in the design and development of a database of K3 surfaces within Magma.

Josef Schicho (RICAM, Linz) has played a major role in the design and implementation of the algebraic surfaces package. In particular, Josef has also implemented several of the modules for rational surface parameterization.

A function that finds the intersection multiplicities for all intersection points of two plane curves was adapted into Magma from code provided by Chris Smyth (Edinburgh).

Andrew Wilson (Edinburgh) has contributed a package to compute the log canonical threshold for singular points on a curve.

Arithmetic Geometry Over Characteristic 0 Fields

The method of Chabauty for finding points on elliptic curves was originally implemented by Nils Bruin in 2003 while a member of the Magma group. In 2009 Nils improved it considerably by combining it with Mordell-Weil sieving.

Two-cover-descent has been implemented by Nils Bruin (Simon Fraser) for hyperelliptic curves. Given the Jacobian of a genus 2 curve, Nils has also provided code to compute all (2, 2)-isogenous abelian surfaces.

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 300,000 constructed by John Cremona (Warwick) is also included.

Tim Dokchitser (Durham) wrote code for computing root numbers of elliptic curves over number fields.

Andreas-Stephan Elsenhans (Bayreuth) has provided routines for performing minimisation and reduction for Del Pezzo surfaces of degrees 3 and 4.

Code for determining isomorphism of cubic surfaces has been contributed by Andreas-Stephan Elsenhans (Bayreuth).

A collection of tools that calculate information about the Picard rank of a surface has been developed by Andreas-Stephan Elsenhans (Bayreuth).

Code for calculating the invariants, covariants and contravariants of a cubic surface has been developed by Andreas-Stephan Elsenhans (Bayreuth).

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.

The implementation of 3-descent on elliptic curves was mainly written by Tom Fisher (Cambridge). An earlier version as well as part of the current version were developed by Michael Stoll (Bremen).

The algorithms and implementations of 6 - and 12-descent are due to Tom Fisher (Cambridge). The new alorithm/implementation of 8-descent is likewise by Tom Fisher; this partly incorporates and partly replaces the earlier one by Sebastian Stamminger.

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.

David Kohel (Singapore--NUS, Magma) has provided implementations of division polynomials and isogeny structures for elliptic curves.

Full and partial descents on cyclic covers of the projective line were implemented by Michael Mourao (Warwick).

A package for computing canonical heights on hyperelliptic curves has been contributed by Steffan Müller (Bayreuth).

David Roberts (Nottingham) contributed some descent machinery for elliptic curves over function fields.

David Roberts and John Cremona (Nottingham) implemented the Cremona-van Hoeij algorithm for parametrization of conics over rational function fields.

Jasper Scholten (Leuven) has developed much of the code for computing with elliptic curves over function fields.

Much of the initial development of the package for computing with hyperelliptic curves is due to Michael Stoll (Bayreuth). He also contributed many of the high level routines involving curves over the rationals and their Jacobians, such as Chabauty's method.

A database of 136, 924, 520 elliptic curves with conductors up to 108 has been provided by William Stein (Harvard) and Mark Watkins (Penn State).

For elliptic curves defined over finite fields of characteristic 2, Kedlaya's algorithm for point counting has been implemented by Frederick Vercauteren (Leuven).

Tom Womack (Nottingham) contributed code for performing four-descent, from which the current implementation was adapted.

Arithmetic Geometry Over Finite Fields

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.

An implementation of GHS Weil descent for ordinary elliptic curves in characteristic 2 has been provided by Florian Heß (TU, Berlin).

A Magma package for calculating Igusa and other invariants for genus 2 hyperelliptic curves 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.

Reynard Lercier (Rennes) provided much advice and assistance to the Magma group concerning the implementation of the SEA point counting algorithm for elliptic curves.

Reynard Lercier (Rennes) and Christophe Ritzenthaler provided extensions to the machinery for genus 2 curves defined over finite fields. These include the reconstruction of a curve from invariants which applies to every characteristic p (previously p > 5), the geometric automorphism group and the calculation of all twists (not just quadratic).

Frederik Vercauteren (Leuven) has produced efficient implementations of the Tate, Eta and Ate pairings in magma.

Class fields over local fields and the multiplicative structure of local fields are computed using new algorithms and implementations due to Sebastian Pauli (TU Berlin).

The module for Lazy Power Series is based on the ideas of Josef Schicho (Linz).

Associative Algebras

Fast algorithms for computing the Jacobson radical and unit group of a matrix algebra over a finite field were designed and implemented by Peter Brooksbank (Bucknell) and Eamonn O'Brien (Auckland).

A package for computing with algebras equipped with an involution (*-algebras) has been contributed by Peter Brooksbank (Bucknell) and James Wilson.

An algorithm designed and implemented by Jon Carlson and Graham Matthews (Athens, Ga.) provides an efficient means for constructing presentations for matrix algebras.

For matrix algebras defined over a finite field, Jon Carlson (Athens, Ga.) designed and implemented algorithms for the Jacobson radical and unit group which are faster than the Brooksbank-O'Brien algorithms for larger examples.

A substantial package for working with substructures and homomorphisms of basic algebras, developed by Jon Carlson (Athens, Ga.), was released as part of V2.19. Among other things, the package can compute the automorphism group of a basic algebra and test pairs of basic algebras for isomorphism.

Markus Kirschmer (Aachen) has written a number of optimized routines for definite quaternion algebras over number fields.

Markus Kirschmer has also contributed a package for quaternion algebras defined over the function fields Fq[t], for q odd. The package includes calculation of the normaliser of an order and an efficient algorithm for computing the two-sided ideal classes of an order in a definite quaternion algebra (over Z or Fq[t]).

Quaternion algebras over the rational field Q were originally implemented by David Kohel (Singapore-NUS, Magma).

The vector enumeration program of Steve Linton (St. Andrews) provides an alternative to the use of Gröbner basis for constructing a matrix representation of a finitely presented associative algebra.

John Voight (Vermont) produced the package for quaternion algebras over number fields.

Coding Theory

A package for constructing linear codes associated with lattice points in a convex polytope has been contributed by Gavin Brown (Loughborough) and Al Kasprzyk (Imperial).

The PERM package developed by Jeff Leon (UIC) is used to determine automorphism groups of codes, designs and matrices.

The development of machinery for linear codes benefited greatly from the active involvement of Markus Grassl (Karlsruhe) over a long period. Of particular note is his contribution to the development of improved algorithms for computing the minimum weight and for the enumeration of codewords.

Routines implementing many different constructions for linear codes over finite fields were contributed by Markus Grassl (Karlsruhe).

Markus Grassl (Karlsruhe) played a key role in the design of magma packages for Additive Codes and Quantum Error-Correcting Codes. The packages were implemented by Greg White (Magma).

The construction of a database of Best Known Linear Codes over GF(2) was a joint project with Markus Grassl (Karlsruhe, NUS). 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.

The databases of Best Known Linear Codes over GF(3), GF(4), GF(5), GF(7), GF(8) and GF(9) were constructed by Markus Grassl (IAKS, Karlsruhe).

A substantial collection of intrinsics for constructing and computing properties of Z4 codes has been contributed by Jaume Pernas, Jaume Pujol and Mer`c Villanueva (Universitat Autònoma de Barcelona).

Combinatorics

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. Further Hadamard matrices were contributed by Dragomir Djokovic.

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 PERM package developed by Jeff Leon (UIC) is used to determine automorphism groups of designs and also to determine isomorphism of pairs of designs.

Automorphism groups and isomorphism of Hadamard matrices are determined by converting to a similar problem for graphs and then applying Brendan McKay's (ANU) program nauty. The adaption was undertaken by Paulette Lieby and Geoff Bailey.

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.

The code to perform the regular expression matching in the regexp intrinsic function comes from the V8 regexp package written by Henry Spencer (Toronto).

Commutative Algebra

Gregor Kemper (TU München) 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.

Alexa van der Waall (Simon Fraser) has implemented the module for differential Galois theory.

Galois Groups

Jürgen Klüners (Kassel) has made major contributions to the Galois theory machinery for function fields and number fields. In particular, he implemented functions for constructing the subfield lattice and automorphism group of a field and also the subfield lattice of the normal closure of a field. In joint work with Claus Fieker (Magma), Jürgen has recently developed a new method for determining the Galois group of a polynomial of arbitary high degree.

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.

Galois Representations

Jeremy Le Borgne (Rennes) contributed his package for working with mod p Galois representations.

Code for constructing Artin representations of the Galois group of the absolute extension of a number field was developed by Tim Dokchitser (Cambridge).

Jared Weinstein (UCLA) wrote the package on admissible representations of GL2(Qp).

Geometry

The Magma code for computing with incidence geometries has been developed by Dimitri Leemans (Brussels).

Algorithms for testing whether two convex polytopes embedded in a lattice are isomorphic or equivalent have been implemented by Al Kasprzyk (Imperial College). Of particular note is Al's implementation of the PALP normal form algorithm.

Global Arithmetric Fields

Jean-Francois Biasse (Calgary) implemented a quadratic sieve for computing the class group of a quadratic field. He also developed a generalisation of the sieve for number fields having degree greater than 2.

Florian Heß (TU Berlin) has contributed a major package for determining all isomorphisms between a pair of algebraic function fields.

David Kohel (Singapore--NUS, Magma) has contributed to the machinery for binary quadratic forms and has implemented rings of Witt vectors.

Jürgen Klüners (Düsseldorf) and Sebastian Pauli (UNC Greensboro) have developed algorithms for computing the Picard group of non-maximal orders and for embedding the unit group of non-maximal orders into the unit group of the field.

The facilities for general number fields and global function fields in Magma are based on the KANT V4 package developed by Michael Pohst and collaborators, first at Düsseldorf and then 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 and unit group, and for solving Diophantine equations.

The fast algorithm of Bosma and Stevenhagen for computing the 2-part of the ideal class group of a quadratic field has been implemented by Mark Watkins (Bristol).

Group Theory: Finitely-Presented Groups

See also the subsection Group Theory: Soluble Groups.

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

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). A variant developed by Derek allows one to determine whether a small soluble group is a homomorphic image.

A small package for working with subgroups of free groups has been developed by Derek Holt (Warwick). He has also provided code for computing the automorphism group of a free group.

Versions of Magma from V2.8 onwards employ the Advanced Coset Enumerator designed by George Havas (UQ) and implemented by Colin Ramsay (UQ). George has also contributed to the design of the machinery for finitely presented groups.

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 provided a magma implementation of his algorithm for testing whether two finitely presented groups are isomorphic.

An improved version of the Plesken-Fabianska algorithm for finding L2-quotients of a finitely presented group has been developed and implemented by Sebastian Jambor (Aachen).

The low index subgroup function is implemented by code that is based on a Pascal program written by Charlie Sims (Rutgers).

Group Theory: Finite Groups

A variation of the Product Replacement Algorithm for generating random elements of a group due to Henrik Bäärnhielm and Charles Leedham-Green has been coded with their assistance.

A Small Groups database containing 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.

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

The Small Groups database was augmented in V2.14 by code that can enumerate all groups of any square-free order. This code was developed by Bettina Eick (Braunschweig) and Eamonn O'Brien (Auckland).

The calculation of automorphism groups (for permutation and matrix groups) and determining group isomorphism is performed by code written by Derek Holt (Warwick).

Lifting-style algorithms have been developed by Derek Holt (Warwick) for computing structural information in groups given in terms of the Composition Tree data structure. The operations include centralisers, conjugacy classes, normalizers, subgroup conjugacy and maximal subgroups.

Magma includes a database of almost-simple groups defined on standard generators. The database was originally conceived by Derek Holt (Warwick) with a major extension by Volker Gebhardt (Magma) and sporadic additions by Bill Unger (Magma).

The routine for computing the subgroup lattice of a group (as distinct from the list of all conjugacy classes of subgroups) is based on code written by Dimitri Leemans (Brussels).

Csaba Schneider (Lisbon) has implemented code which allows the user to write an arbitrary element of a classical group as an SLP in terms of its standard generators.

Robert Wilson (QMUL) has made available the data contained in the on-line ATLAS of Finite Group Representations for use in a Magma database of permutation and matrix representations for finite simple groups. See http://brauer.maths.qmul.ac.uk/Atlas/.

Group Theory: Matrix Groups

The Composition Tree (CT) package developed by Henrik Bäärnhielm (Auckland), Derek Holt (Warwick), Charles Leedham-Green (QMUL) and Eamonn O'Brien (Auckland), working with numerous collaborators, was first released in V2.17. This package is designed for computing structural information for large matrix groups defined over a finite field.

Constructive recognition of quasi-simple groups belonging to the Suzuki and two Ree families have been implemented by Hendrik Bäärnhielm (QMUL). The package includes code for constructing their Sylow p-subgroups and maximal subgroups.

The maximal subgroups of all classical groups having degree not exceeding 12 have been constructed and implemented in magma by John Bray (QMUL), Derek Holt (Warwick) and Colva Roney-Dougal (St Andrews).

Peter Brooksbank (Bucknell) implemented a magma version of his algorithm for performing constructive black-box recognition of low-dimensional symplectic and unitary groups. He also gave the Magma group permission to base its implementation of the Kantor-Seress algorithm for black-box recognition of linear groups on his GAP implementation.

Code which computes the normaliser of a linear group defined over a finite field, using a theorem of Aschbacher rather than backtrack search, has been provided by Hannah Coutts (St Andrews).

A package, "Infinite", has been developed by Alla Detinko (Galway), Dane Flannery (Galway) and Eamonn O'Brien (Auckland) for computing with groups defined over number fields, or (rational) function fields in zero or positive characteristic.

An algorithm for determining the conjugacy of any pair of matrices in GL(2, Z) was developed and implemented by D. Husert (University of Paderborn). In particular, this allows the conjugacy of elements having infinite order to be determined.

Markus Kirschmer (RWTH, Aachen) has provided a package for computing with finite subgroups of GL(n, ( Z)). A Magma database of the maximal finite irreducible subgroups of Sp2n(Q) for 1≤i ≤11 has also been made available by Markus.

A much improved algorithm for computing the normaliser or centraliser of a finite subgroup of GL(n, Z) has been implemented by Markus Kirschmer (Aachen). Markus has also implemented an algorithm that tests finite subgroups for conjugacy.

Procedures to list irreducible (soluble) subgroups of GL(2, q) and GL(3, q) for arbitrary q have been provided by Dane Flannery (Galway) and Eamonn O'Brien (Auckland).

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 an algorithm of Babai et al which identifies 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 as constructed by Gabriele Nebe (Aachen) 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 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).

Eamonn O'Brien (Auckland) has contributed a Magma implementation of algorithms for determining the Aschbacher category of a subgroup of GL(n, q).

Eamonn O'Brien (Auckland) has provided implementations of constructive recognition algorithms for the matrix groups (P)SL(2, q) and (P)SL(3, q).

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 (St Andrews).

A package for constructing the Sylow p-subgroups of the classical groups has been implemented by Mark Stather (Warwick).

Generators in the natural representation of a finite group of Lie type were constructed and implemented by Don Taylor (Sydney) with some assistance from Leanne Rylands (Western Sydney).

Group Theory: Soluble Groups

The soluble quotient algorithm in Magma was designed and implemented by Herbert Brückner (Aachen).

Code producing descriptions of the groups of order p4, p5, p6, p7 for p>3 was contributed by Boris Girnat, Robert McKibbin, Mike Newman, Eamonn O'Brien, and Mike Vaughan-Lee.

A new approach to the more efficient calculation of the automorphism group of a finite soluble group has been developed and implemented David Howden (Warwick). A slight variation of the algorithm is used to test isomorphism.

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 (QMUL, London).

The NQ program of Werner Nickel (Darmstadt) is used to compute nilpotent quotients of finitely presented groups. Version 2.2 of NQ was installed in magma V2.14 by Bill Unger (Magma) and Michael Vaughan-Lee (Oxford).

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.

The package for classifying metacyclic p-groups has been developed by Eamonn O'Brien (Auckland) and Mike Vaughan-Lee (Oxford).

Group Theory: Permutation Groups

Derek Holt (Warwick) has implemented the Magma version of the Bratus/Pak algorithm for black-box recognition of the symmetric and alternating groups.

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.

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 table containing all primitive groups having degree less than 2,500 has been provided by Colva Roney-Dougal (St Andrews). The groups of degree up to 1,000 were done jointly with Bill Unger (magma).

A table containing all primitive groups having degrees in the range 2,500 to 4,095 has been provided by Hannah Coutts, Martyn Quick and Colva Roney-Dougal (all at St Andrews).

Colva Roney-Dougal (St Andrews) has implemented the Beals et al algorithm for performing black-box recognition on the symmetric and alternating groups.

Derek Holt (Warwick) has constructed a table of irreducible representations of quasisimple groups (up to degree 100). Some representations were contributed by Allan Steel, Volker Gebhardt and Bill Unger (all magma).

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

Homological Algebra

The packages for chain complexes and basic algebras have been developed by Jon F. Carlson (Athens, GA).

Sergei Haller developed Magma code for computing the first cohomology group of a finite group with coefficients in a finite (not necessarily abelian) group. This formed the basis of a package for computing Galois cohomology of linear algebra groups.

Machinery for computing group cohomology and for producing group extensions has been developed 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.

In 2011, Derek Holt (Warwick) implemented an alternative algorithm for finding the dimension of the cohomology group Hn(G, K), for G a finite group, and K a finite field. In this approach the dimension is found using projective covers and dimension shifting.

The code for computing A_∞-structures in group cohomology was developed by Mikael Vejdemo Johansson (Jena).

L-Functions

Tim Dokchitser (Cambridge) has implemented efficient computation of many kinds of L-functions, including those attached to Dirichlet characters, number fields, Artin representations, elliptic curves and hyperelliptic curves. Vladimir Dokchitser (Cambridge) has contributed theoretical ideas.

Anton Mellit has contributed code for computing symmetric powers and tensor products of L-functions.

Lattices and Quadratic Forms

The construction of the sublattice of an integral lattice is performed by code developed by Markus Kirschmer (Aachen).

A collection of lattices derived from the on-line tables of lattices prepared by Neil Sloane (AT&T Research) and Gabriele Nebe (Aachen) is included in Magma.

The original functions for computing automorphism groups and isometries of integral lattices are based on the AUTO and ISOM programs of Bernd Souvignier (Nijmegen). In V2.16 they are replaced by much faster versions developed by Bill Unger (Magma).

Coppersmith's method (based on LLL) for finding small roots of univariate polynomials modulo an integer has been implemented by Damien Stehlé (ENS Lyon).

Given a quadratic form F in an arbitrary number of variables, { Mark Watkins (Bristol) has used Denis Simon's ideas as the basis of an algorithm he has implemented in magma for finding a large (totally) isotropic subspace of F.

Lie Theory

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. He has also implemented a separate package for finitely presented Lie rings.

A database of soluble Lie algebras of dimensions 2, 3 and 4 over all fields has been implemented by Willem de Graaf (Trento). Willem has also provided a database of all nilpotent Lie algebras of dimension up to 6 over all base fields (except characteristic 2 when the dimension is 6).

More recent extensions to the Lie algebra package developed by Willem de Graaf (Trento) include quantum groups, universal enveloping algebras, the semisimple subalgebras of a simple Lie algebra and nilpotent orbits for simple Lie algebras.

A fast algorithm for multiplying the elements of Coxeter groups based on their automatic structure has been designed and implemented by Bob Howlett (Sydney). Bob has also contributed Magma code for computing the growth function of a Coxeter group.

Machinery for computing the W-graphs for Lie types An, E6, E7 and E8 has been supplied by Bob Howlett (Sydney). Subsequently, Bob supplied code for working with directed W-graphs.

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

Functions that construct any finite irreducible unitary reflection group in Cn have been implemented by Don Taylor (Sydney). Extension to the infinite case was implemented by Scott Murray (Sydney).

The current version of Lie groups in magma has been implemented by Scott Murray (Sydney) and Sergei Haller with some assistance from Don Taylor (Sydney).

An extensive package for computing the combinatorial properties of highest weight representations of a Lie algebra has been written by Dan Roozemond (Eindhoven). This code is based in the LiE package with permission of the authors.

Code has been contributed by Robert Zeier (Technical University of Munich) for determining the irreducible simple subalgebras of the Lie algebra su(k).

Linear Algebra and Module Theory

Parts of the ATLAS (Automatically Tuned Linear Algebra Software) created by R. Clint Whaley et al. (UTSA) are used for some fundamental matrix algorithms over finite fields GF(p), where p is about the size of a machine integer.

Local Arithmetric Fields

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.

Modular Forms

Kevin Buzzard (Imperial College) made available his code for computing modular forms of weight one. The Magma implementation was developed using this as a starting point.

Lassina Demb{él{é (Warwick) wrote part of the code implementing his algorithm for computing Hilbert modular forms.

Enrique Gonz{ález-Jim{énez (Madrid) contributed a package to compute curves over Q, of genus at least 2, which are images of X1(N) for a given level N.

Matthew Greenberg (Calgary) and John Voight (Vermont) developed and implemented an algorithm for computing Hilbert modular forms using Shimura curves.

A new implementation (V2.19) of Brandt modules associated to definite quaternion orders, over Z and over function fields Fq[t], has been developed by Markus Kirschmer (Aachen) and Steve Donnelly (Magma).

David Kohel (Singapore-NUS, Magma) has provided implementations of division polynomials and isogeny structures for Brandt modules and modular curves. Jointly with William Stein (Harvard), he implemented the module of supersingular points.

Allan Lauder (Oxford) has contributed code for computing the characteristic polynomial of a Hecke operator acting on spaces of overconvergent modular forms.

magma routines for constructing building blocks of modular abelian varieties were contributed by Jordi Quer (Cataluna).

A package for computing with modular symbols (known as HECKE) has been developed by William Stein (Harvard). William has also provided much of the package for modular forms.

In 2003--2004, William Stein (Harvard) developed extensive machinery for computing with modular abelian varieties within Magma.

A package for computing with congruence subgroups of the group PSL(2, R) has been developed by Helena Verrill (LSU).

John Voight (Vermont) produced the package for Shimura curves and arithmetic Fuchsian groups.

Dan Yasaki (UNC) provided the package for Bianchi modular forms.

Primality and Factorisation

The factorisation of integers of the form pn +- 1, for small primes p, makes use of tables compiled by Richard Brent that extend tables developed by the Cunningham project. In addition magma uses Richard's intelligent factorization code FACTOR.

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.

Magma uses the GMP-ECM implementation of the Elliptic Curve Method (ECM) for integer factorisation. This was developed by Pierrick Gaudry, Jim Fougeron, Laurent Fousse, Alexander Kruppa, Dave Newman, and Paul Zimmermann. See http://gforge.inria.fr/projects/ecm/.

Real and Complex Arithmetic

The complex arithmetic in Magma uses the MPC package which is being developed by Andreas Enge, Philippe Théveny and Paul Zimmermann. (For more information see www.multiprecision.org/mpc/).

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.

Some portions of the GNU GMP multiprecision integer library (http://gmplib.org) are used for integer multiplication.

Most real arithmetic in Magma is based on the MPFR package which is developed by Paul Zimmermann (Nancy) and associates. (See www.mpfr.org).

Representation Theory

The algorithm of John Dixon for constructing the ordinary irreducible representation of a finite group from its character has been implemented by Derek Holt (Warwick).

Derek Holt (Warwick) has made a number of important contributions to the design of the module theory algorithms employed in Magma.

An algorithm of Sam Conlon for determining the degrees of the ordinary irreducible characters of a soluble group (without determining the full character table) has been implemented by Derek Holt (Warwick).

In 2011, Derek Holt (Warwick) and John Cannon (Magma) developed a package for computing the projective indecomposable KG-modules for a finite group G.

The algorithms used in magma for finding the lattice of submodules and the endomorphism ring of a KG-module (K a finite field) were developed by Charles Leedham-Green (QMW, London) and Allan Steel (Magma).

Topology

A basic module for defining and computing with simplicial complexes was developed by Mikael Johansson (Jena).

Nathan Dunfield (Cornell) and William Thurston (Cornell) made available their database of the fundamental groups of the 10,986 small-volume closed hyperbolic manifolds in the Hodgson-Weeks census.

Handbook Contributors

Introduction

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.

The Chapters

STATEMENTS AND EXPRESSIONS
      W. Bosma, A. Steel

FUNCTIONS, PROCEDURES AND PACKAGES
      W. Bosma, A. Steel

INPUT AND OUTPUT
      W. Bosma, A. Steel

ENVIRONMENT AND OPTIONS
      A. Steel
      W. Bosma

MAGMA SEMANTICS
      G. Matthews

THE MAGMA PROFILER
      D. Fisher

DEBUGGING MAGMA CODE
      D. Fisher

INTRODUCTION TO AGGREGATES
      W. Bosma

SETS
      W. Bosma, J. Cannon
      A. Steel

SEQUENCES
      W. Bosma, J. Cannon

TUPLES AND CARTESIAN PRODUCTS
      W. Bosma

LISTS
      W. Bosma

ASSOCIATIVE ARRAYS
      A. Steel

COPRODUCTS
      A. Steel

RECORDS
      W. Bosma

MAPPINGS
      W. Bosma

INTRODUCTION TO RINGS
      W. Bosma

RING OF INTEGERS
      W. Bosma, A. Steel
      S. Contini, B. Smith

INTEGER RESIDUE CLASS RINGS
      W. Bosma
      S. Donnelly, W. Stein

RATIONAL FIELD
      W. Bosma

FINITE FIELDS
      W. Bosma, A. Steel

NEARFIELDS
      D. Taylor

UNIVARIATE POLYNOMIAL RINGS
      A. Steel

MULTIVARIATE POLYNOMIAL RINGS
      A. Steel

REAL AND COMPLEX FIELDS
      W. Bosma

MATRICES
      A. Steel

SPARSE MATRICES
      A. Steel

VECTOR SPACES
      J. Cannon, A. Steel

POLAR SPACES
      D. Taylor

LATTICES
      A. Steel, D. Stehl\'e

LATTICES WITH GROUP ACTION
      B. Souvignier
      M. Kirschmer

QUADRATIC FORMS
      S. Donnelly

BINARY QUADRATIC FORMS
      D. Kohel

NUMBER FIELDS
      C. Fieker
      W. Bosma, N. Sutherland

QUADRATIC FIELDS
      W. Bosma

CYCLOTOMIC FIELDS
      W. Bosma, C. Fieker

ORDERS AND ALGEBRAIC FIELDS
      C. Fieker
      W. Bosma, N. Sutherland

GALOIS THEORY OF NUMBER FIELDS
      C. Fieker
      J. Klüners, K. Gei{ß}ler

CLASS FIELD THEORY
      C. Fieker

ALGEBRAICALLY CLOSED FIELDS
      A. Steel

RATIONAL FUNCTION FIELDS
      A. Steel
      A. van der Waall

ALGEBRAIC FUNCTION FIELDS
      F. He{ß}
      C. Fieker, N. Sutherland

CLASS FIELD THEORY FOR GLOBAL FUNCTION FIELDS
      C. Fieker

ARTIN REPRESENTATIONS
      T. Dokchitser

VALUATION RINGS
      W. Bosma

NEWTON POLYGONS
      G. Brown, N. Sutherland

p-ADIC RINGS AND THEIR EXTENSIONS
      D. Fisher, B. Souvignier
      N. Sutherland

GALOIS RINGS
      A. Steel

POWER, LAURENT AND PUISEUX SERIES
      A. Steel

LAZY POWER SERIES RINGS
      N. Sutherland

GENERAL LOCAL FIELDS
      N. Sutherland

ALGEBRAIC POWER SERIES RINGS
      T. Beck, M. Harrison

INTRODUCTION TO MODULES
      J. Cannon

FREE MODULES
      J. Cannon, A. Steel

MODULES OVER DEDEKIND DOMAINS
      C. Fieker, N. Sutherland

CHAIN COMPLEXES
      J. Carlson

GROUPS
      J. Cannon
      W. Unger

PERMUTATION GROUPS
      J. Cannon
      B. Cox, W. Unger

MATRIX GROUPS OVER GENERAL RINGS
      J. Cannon
      B. Cox, E.A. O'Brien, A. Steel

MATRIX GROUPS OVER FINITE FIELDS
      E.A. O'Brien

MATRIX GROUPS OVER INFINITE FIELDS
      E.A. O'Brien

MATRIX GROUPS OVER Q AND Z
      M. Kirschmer, B. Souvignier

FINITE SOLUBLE GROUPS
      J. Cannon, M. Slattery
      E.A. O'Brien

BLACK-BOX GROUPS
      W. Unger

ALMOST SIMPLE GROUPS
      H. Bäärnhielm, J. Cannon, D. Holt, M. Stather

DATABASES OF GROUPS
      W. Unger
      V. Gebhardt

AUTOMORPHISM GROUPS
      D. Holt
      W. Unger

COHOMOLOGY AND EXTENSIONS
      D. Holt
      S. Haller

ABELIAN GROUPS
      J. Cannon
      P. Lieby

FINITELY PRESENTED GROUPS
      J. Cannon
      V. Gebhardt, E.A. O'Brien, M. Vaughan-Lee

FINITELY PRESENTED GROUPS: ADVANCED
      H. Brückner, V. Gebhardt
      E.A. O'Brien

POLYCYCLIC GROUPS
      V. Gebhardt

BRAID GROUPS
      V. Gebhardt

GROUPS DEFINED BY REWRITE SYSTEMS
      D. Holt
      G. Matthews

AUTOMATIC GROUPS
      D. Holt
      G. Matthews

GROUPS OF STRAIGHT-LINE PROGRAMS
      J. Cannon

FINITELY PRESENTED SEMIGROUPS
      J. Cannon

MONOIDS GIVEN BY REWRITE SYSTEMS
      D. Holt
      G. Matthews

ALGEBRAS
      J. Cannon, B. Souvignier

STRUCTURE CONSTANT ALGEBRAS
      J. Cannon, B. Souvignier

ASSOCIATIVE ALGEBRAS
      J. Cannon, S. Donnelly, N. Sutherland, B. Souvignier, J. Voight

FINITELY PRESENTED ALGEBRAS
      A. Steel, S. Linton

MATRIX ALGEBRAS
      J. Cannon, A. Steel
      J. Carlson

GROUP ALGEBRAS
      J. Cannon, B. Souvignier

BASIC ALGEBRAS
      J. Carlson
      M. Vejdemo-Johansson

QUATERNION ALGEBRAS
      D. Kohel, J. Voight
      S. Donnelly, M. Kirschmer

ALGEBRAS WITH INVOLUTION
      P. Brooksbank, J. Wilson

CLIFFORD ALGEBRAS
      D. Taylor

MODULES OVER AN ALGEBRA
      J. Cannon, A. Steel

K[G]-MODULES AND GROUP REPRESENTATIONS
      J. Cannon, A. Steel

CHARACTERS OF FINITE GROUPS
      W. Bosma, J. Cannon

REPRESENTATIONS OF SYMMETRIC GROUPS
      A. Kohnert

MOD P GALOIS REPRESENTATIONS
      J. Le Borgne

INTRODUCTION TO LIE THEORY
      S. Murray
      D. Taylor

COXETER SYSTEMS
      S. Murray
      D. Taylor

ROOT SYSTEMS
      S. Murray
      S. Haller, D. Taylor

ROOT DATA
      S. Haller, S. Murray
      D. Taylor

COXETER GROUPS
      S. Murray
      D. Taylor

REFLECTION GROUPS
      S. Murray
      D. Taylor

LIE ALGEBRAS
      W. de Graaf, D. Roozemond
      S. Haller, S. Murray

KAC-MOODY LIE ALGEBRAS
      D. Roozemond

QUANTUM GROUPS
      W. de Graaf

GROUPS OF LIE TYPE
      S. Murray
      S. Haller, D. Taylor

REPRESENTATIONS OF LIE GROUPS AND ALGEBRAS
      D. Roozemond
      S. Murray

GRÖBNER BASES
      A. Steel
      M. Harrison

POLYNOMIAL RING IDEAL OPERATIONS
      A. Steel
      M. Harrison

LOCAL POLYNOMIAL RINGS
      A. Steel

AFFINE ALGEBRAS
      A. Steel

MODULES OVER MULTIVARIATE RINGS
      A. Steel
      M. Harrison

INVARIANT THEORY
      A. Steel

DIFFERENTIAL RINGS
      A. van der Waall

SCHEMES
      G. Brown
      J. Cannon, M. Harrison, N. Sutherland

COHERENT SHEAVES
      M. Harrison

ALGEBRAIC CURVES
      G. Brown
      N. Bruin, J. Cannon, M. Harrison, A. Wilson

RESOLUTION GRAPHS AND SPLICE DIAGRAMS
      G. Brown

ALGEBRAIC SURFACES
      T. Beck, M. Harrison

HILBERT SERIES OF POLARISED VARIETIES
      G. Brown

TORIC VARIETIES
      G. Brown, A. Kasprzyk

RATIONAL CURVES AND CONICS
      D. Kohel, P. Lieby
      S. Donnelly, M. Watkins

ELLIPTIC CURVES
      G. Bailey
      S. Donnelly, D. Kohel

ELLIPTIC CURVES OVER FINITE FIELDS
      M. Harrison
      P. Lieby

ELLIPTIC CURVES OVER Q AND NUMBER FIELDS
      G. Bailey, N. Bruin, B. Creutz, S. Donnelly, D. Kohel, M. Watkins

ELLIPTIC CURVES OVER FUNCTION FIELDS
      J. Scholten
      S. Donnelly

MODELS OF GENUS ONE CURVES
      T. Fisher, S. Donnelly

HYPERELLIPTIC CURVES
      N. Bruin, B. Creutz, S. Donnelly, M. Harrison, D. Kohel, P. van Wamelen

HYPERGEOMETRIC MOTIVES
      M. Watkins

L-FUNCTIONS
      T. Dokchitser
      M. Watkins

MODULAR CURVES
      D. Kohel
      M. Harrison, E. Gonz\'alez-Jim\'enez

SMALL MODULAR CURVES
      M. Harrison

CONGRUENCE SUBGROUPS OF PSL2(R)
      H. Verrill

ARITHMETIC FUCHSIAN GROUPS AND SHIMURA CURVES
      J. Voight

MODULAR FORMS
      W. Stein
      K. Buzzard, S. Donnelly

MODULAR SYMBOLS
      W. Stein
      K. Buzzard

BRANDT MODULES
      D. Kohel

SUPERSINGULAR DIVISORS ON MODULAR CURVES
      D. Kohel, W. Stein

MODULAR ABELIAN VARIETIES
      W. Stein
      J. Quer

HILBERT MODULAR FORMS
      S. Donnelly

MODULAR FORMS OVER IMAGINARY QUADRATIC FIELDS
      D. Yasaki
      S. Donnelly

ADMISSIBLE REPRESENTATIONS OF GL2(Qp)
      J. Weinstein
      S. Donnelly

SIMPLICIAL HOMOLOGY
      M. Vejdemo-Johansson

FINITE PLANES
      J. Cannon

INCIDENCE GEOMETRY
      D. Leemans

CONVEX POLYTOPES AND POLYHEDRA
      G. Brown, A. Kasprzyk

ENUMERATIVE COMBINATORICS
      G. Bailey
      G. White

PARTITIONS, WORDS AND YOUNG TABLEAUX
      G. White

SYMMETRIC FUNCTIONS
      A. Kohnert

INCIDENCE STRUCTURES AND DESIGNS
      J. Cannon

HADAMARD MATRICES
      G. Bailey

GRAPHS
      J. Cannon, P. Lieby
      G. Bailey

MULTIGRAPHS
      J. Cannon, P. Lieby

NETWORKS
      P. Lieby

LINEAR CODES OVER FINITE FIELDS
      J. Cannon, A. Steel
      G. White

ALGEBRAIC-GEOMETRIC CODES
      J. Cannon, G. White

LOW DENSITY PARITY CHECK CODES
      G. White

LINEAR CODES OVER FINITE RINGS
      A. Steel
      G. White, M. Villanueva

ADDITIVE CODES
      G. White

QUANTUM CODES
      G. White

PSEUDO-RANDOM BIT SEQUENCES
      S. Contini

LINEAR PROGRAMMING
      B. Smith

General Acknowledgements

In addition to the contributors listed above, we gratefully acknowledge the contributions to the Handbook made by the following people:

J. Brownie (group theory)
K. Geiß ler (Galois groups)
A. Flynn (algebras and designs)
E. Herrmann (elliptic curves)
E. Howe (Igusa invariants)
B. McKay (graph theory)
S. Pauli (local fields)
C. Playoust (data structures, rings)
C. Roney-Dougal (groups)
T. Womack (elliptic curves)


Version: V2.19 of Wed Apr 24 15:09:57 EST 2013