Magma (computer algebra system)

Last updated
Magma
Developer(s) Computational Algebra Group, School of Mathematics and Statistics, University of Sydney
Stable release
2.27-8 [1] / 22 February 2023;11 months ago (2023-02-22)
Written inC (kernel), Magma (libraries) [2]
Operating system Cross-platform
Type Computer algebra system
License Cost recovery (non-commercial proprietary)
Website magma.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.

Contents

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

Related Research Articles

<span class="mw-page-title-main">Algebraic geometry</span> Branch of mathematics

Algebraic geometry is a branch of mathematics which uses abstract algebraic techniques, mainly from commutative algebra, to solve geometrical problems. Classically, it studies zeros of multivariate polynomials; the modern approach generalizes this in a few different aspects.

<span class="mw-page-title-main">Discrete mathematics</span> Study of discrete mathematical structures

Discrete mathematics is the study of mathematical structures that can be considered "discrete" rather than "continuous". Objects studied in discrete mathematics include integers, graphs, and statements in logic. By contrast, discrete mathematics excludes topics in "continuous mathematics" such as real numbers, calculus or Euclidean geometry. Discrete objects can often be enumerated by integers; more formally, discrete mathematics has been characterized as the branch of mathematics dealing with countable sets. However, there is no exact definition of the term "discrete mathematics".

<span class="mw-page-title-main">Linear algebra</span> Branch of mathematics

Linear algebra is the branch of mathematics concerning linear equations such as:

A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The development of the computer algebra systems in the second half of the 20th century is part of the discipline of "computer algebra" or "symbolic computation", which has spurred work in algorithms over mathematical objects such as polynomials.

In commutative algebra and algebraic geometry, elimination theory is the classical name for algorithmic approaches to eliminating some variables between polynomials of several variables, in order to solve systems of polynomial equations.

In mathematics and specifically in algebraic geometry, the dimension of an algebraic variety may be defined in various equivalent ways.

Combinatorics is a branch of mathematics concerning the study of finite or countable discrete structures.

In mathematics, and more specifically in computer algebra, computational algebraic geometry, and computational commutative algebra, a Gröbner basis is a particular kind of generating set of an ideal in a polynomial ring K[x1, ..., xn] over a field K. A Gröbner basis allows many important properties of the ideal and the associated algebraic variety to be deduced easily, such as the dimension and the number of zeros when it is finite. Gröbner basis computation is one of the main practical tools for solving systems of polynomial equations and computing the images of algebraic varieties under projections or rational maps.

Invariant theory is a branch of abstract algebra dealing with actions of groups on algebraic varieties, such as vector spaces, from the point of view of their effect on functions. Classically, the theory dealt with the question of explicit description of polynomial functions that do not change, or are invariant, under the transformations from a given linear group. For example, if we consider the action of the special linear group SLn on the space of n by n matrices by left multiplication, then the determinant is an invariant of this action because the determinant of A X equals the determinant of X, when A is in SLn.

In the theory of multivariate polynomials, Buchberger's algorithm is a method for transforming a given set of polynomials into a Gröbner basis, which is another set of polynomials that have the same common zeros and are more convenient for extracting information on these common zeros. It was introduced by Bruno Buchberger simultaneously with the definition of Gröbner bases.

Algorithmic topology, or computational topology, is a subfield of topology with an overlap with areas of computer science, in particular, computational geometry and computational complexity theory.

In computer algebra, the Faugère F4 algorithm, by Jean-Charles Faugère, computes the Gröbner basis of an ideal of a multivariate polynomial ring. The algorithm uses the same mathematical principles as the Buchberger algorithm, but computes many normal forms in one go by forming a generally sparse matrix and using fast linear algebra to do the reductions in parallel.

<span class="mw-page-title-main">Abstract algebra</span> Branch of mathematics

In mathematics, more specifically algebra, abstract algebra or modern algebra is the study of algebraic structures. Algebraic structures include groups, rings, fields, modules, vector spaces, lattices, and algebras over a field. The term abstract algebra was coined in the early 20th century to distinguish it from older parts of algebra, and more specifically from elementary algebra, the use of variables to represent numbers in computation and reasoning. The abstract perspective on algebra has become so fundamental to advanced mathematics that it is simply called "algebra", while the term "abstract algebra" is seldom used except in pedagogy.

<span class="mw-page-title-main">Computer algebra</span> Scientific area at the interface between computer science and mathematics

In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects. Although computer algebra could be considered a subfield of scientific computing, they are generally considered as distinct fields because scientific computing is usually based on numerical computation with approximate floating point numbers, while symbolic computation emphasizes exact computation with expressions containing variables that have no given value and are manipulated as symbols.

<span class="mw-page-title-main">Polymake</span>

polymake is software for the algorithmic treatment of convex polyhedra.

A system of polynomial equations is a set of simultaneous equations f1 = 0, ..., fh = 0 where the fi are polynomials in several variables, say x1, ..., xn, over some field k.

Mathematics is a broad subject that is commonly divided in many areas that may be defined by their objects of study, by the used methods, or by both. For example, analytic number theory is a subarea of number theory devoted to the use of methods of analysis for the study of natural numbers.

Ferdinando 'Teo' Mora is an Italian mathematician, and since 1990 until 2019 a professor of algebra at the University of Genoa.

In computer algebra, the Gröbner fan of an ideal in the ring of polynomials is a concept in the theory of Gröbner bases. It is defined to be a fan consisting of cones that correspond to different monomial orders on that ideal. The concept was introduced by Mora and Robbiano in 1988. The result is a weaker version of the result presented in the same issue of the journal by Bayer and Morrison. Gröbner fan is a base for the nowadays active field of tropical geometry. One implementation of the Gröbner fan is called Gfan, based on an article of Fukuda, et al. which is included in some computer algebra systems such as Singular, Macaulay2, and CoCoA.

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