Combinatorics
Magma covers graph theory (automorphisms, colouring, planarity), combinatorial designs, integer partitions, Young tableaux, and symmetric functions, with extensive built-in databases.
Contributors
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 Adalbert 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 the nauty program developed by Brendan McKay (ANU). The adaption was carried out by Paulette Lieby and Geoff Bailey (both Magma).
The calculation of the automorphism groups of graphs and the determination of graph isomorphism is performed using Brendan McKay's (ANU) program nauty. 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 graph automorphism/isomorphism program Traces developed by Adolfo Piperno (Sapienza Universita di Roma) is installed in Magma as part of the extended nauty package.
The code to perform the regular expression matching in the regexp intrinsic function comes from the V8 regexp package by Henry Spencer (Toronto).