Magma (computer algebra system)

Magma
Developer(s)Computational Algebra Group, School of Mathematics and Statistics, University of Sydney
Stable release
2.27-8[1] / 22 February 2023; 21 months ago (2023-02-22)
Written inC (kernel), Magma (libraries)[2]
Operating systemCross-platform
TypeComputer algebra system
LicenseCost recovery (non-commercial proprietary)
Websitemagma.maths.usyd.edu.au

Magma is a computer algebra system designed to solve problems in algebra, number theory, geometry and combinatorics. It is named after the algebraic structure magma. It runs on Unix-like operating systems, as well as Windows.

Introduction

Magma is produced and distributed by the Computational Algebra Group within the Sydney School of Mathematics and Statistics at the University of Sydney.

In late 2006, the book Discovering Mathematics with Magma was published by Springer as volume 19 of the Algorithms and Computations in Mathematics series.[3]

The Magma system is used extensively within pure mathematics. The Computational Algebra Group maintain a list of publications that cite Magma, and as of 2010 there are about 2600 citations, mostly in pure mathematics, but also including papers from areas as diverse as economics and geophysics.[4]

History

The predecessor of the Magma system was named Cayley (1982–1993), after Arthur Cayley.

Magma was officially released in August 1993 (version 1.0). Version 2.0 of Magma was released in June 1996 and subsequent versions of 2.X have been released approximately once per year.

In 2013, the Computational Algebra Group finalized an agreement with the Simons Foundation, whereby the Simons Foundation will underwrite all costs of providing Magma to all U.S. nonprofit, non-governmental scientific research or educational institutions. All students, researchers and faculty associated with a participating institution will be able to access Magma for free, through that institution.[5]

Mathematical areas covered by the system

Magma includes permutation, matrix, finitely presented, soluble, abelian (finite or infinite), polycyclic, braid and straight-line program groups. Several databases of groups are also included.
Magma contains asymptotically fast algorithms for all fundamental integer and polynomial operations, such as the Schönhage–Strassen algorithm for fast multiplication of integers and polynomials. Integer factorization algorithms include the Elliptic Curve Method, the Quadratic sieve and the Number field sieve.
Magma includes the KANT computer algebra system for comprehensive computations in algebraic number fields. A special type also allows one to compute in the algebraic closure of a field.
Magma contains asymptotically fast algorithms for all fundamental dense matrix operations, such as Strassen multiplication.
Magma contains the structured Gaussian elimination and Lanczos algorithms for reducing sparse systems which arise in index calculus methods, while Magma uses Markowitz pivoting for several other sparse linear algebra problems.
Magma has a provable implementation of fpLLL,[6] which is an LLL algorithm for integer matrices which uses floating point numbers for the Gram–Schmidt coefficients, but such that the result is rigorously proven to be LLL-reduced.
Magma has an efficient implementation of the Faugère F4 algorithm for computing Gröbner bases.
Magma has extensive tools for computing in representation theory, including the computation of character tables of finite groups and the Meataxe algorithm.
Magma has a type for invariant rings of finite groups, for which one can primary, secondary and fundamental invariants, and compute with the module structure.

See also

References

  1. ^ "Summary of New Features in Magma V2.27-8".
  2. ^ "What is Magma?" (PDF).
  3. ^ "Discovering Mathematics with Magma".
  4. ^ "Published Research Citing Magma".
  5. ^ "Simons Foundation Scheme for the Provision of Magma at US Educational and Scientific Research Organizations". Magma Computer Algebra.
  6. ^ John Cannon (July 2006). "Magma 2.13 release notes".