Magma computer algebra system
Encyclopedia
Magma is a computer algebra system
Computer algebra system
A computer algebra system is a software program that facilitates symbolic mathematics. The core functionality of a CAS is manipulation of mathematical expressions in symbolic form.-Symbolic manipulations:...

 designed to solve problems in algebra
Abstract algebra
Abstract algebra is the subject area of mathematics that studies algebraic structures, such as groups, rings, fields, modules, vector spaces, and algebras...

, number theory
Number theory
Number theory is a branch of pure mathematics devoted primarily to the study of the integers. Number theorists study prime numbers as well...

, geometry
Algebraic geometry
Algebraic geometry is a branch of mathematics which combines techniques of abstract algebra, especially commutative algebra, with the language and the problems of geometry. It occupies a central place in modern mathematics and has multiple conceptual connections with such diverse fields as complex...

 and combinatorics
Combinatorics
Combinatorics is a branch of mathematics concerning the study of finite or countable discrete structures. Aspects of combinatorics include counting the structures of a given kind and size , deciding when certain criteria can be met, and constructing and analyzing objects meeting the criteria ,...

. It is named after the algebraic structure
Algebraic structure
In abstract algebra, an algebraic structure consists of one or more sets, called underlying sets or carriers or sorts, closed under one or more operations, satisfying some axioms. Abstract algebra is primarily the study of algebraic structures and their properties...

  magma
Magma (algebra)
In abstract algebra, a magma is a basic kind of algebraic structure. Specifically, a magma consists of a set M equipped with a single binary operation M \times M \rightarrow M....

. It runs on Unix-like
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 and Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 based operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s, as well as Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

.

Introduction

Magma is produced and distributed by the Computational Algebra Group within the School of Mathematics and Statistics
Sydney School of Mathematics and Statistics
The School of Mathematics and Statistics is a constituent body of the Faculty of Science at the University of Sydney, Australia. It was established in its present form in 1991....

 at the University of Sydney
University of Sydney
The University of Sydney is a public university located in Sydney, New South Wales. The main campus spreads across the suburbs of Camperdown and Darlington on the southwestern outskirts of the Sydney CBD. Founded in 1850, it is the oldest university in Australia and Oceania...

.

In late 2006, the book Discovering Mathematics with Magma was published by Springer
Springer Science+Business Media
- Selected publications :* Encyclopaedia of Mathematics* Ergebnisse der Mathematik und ihrer Grenzgebiete * Graduate Texts in Mathematics * Grothendieck's Séminaire de géométrie algébrique...

 as volume 19 of the Algorithms and Computations in Mathematics series.

The Magma system is used extensively within pure mathematics. The Computational Algebra Group maintain a list of publications which 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.

History

The predecessor of the Magma system was called Cayley (1982–1993).

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.

With Python installed, version 2.9-2 supports MathML
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...

.

Mathematical areas covered by the system

  • Group theory
    Group theory
    In mathematics and abstract algebra, group theory studies the algebraic structures known as groups.The concept of a group is central to abstract algebra: other well-known algebraic structures, such as rings, fields, and vector spaces can all be seen as groups endowed with additional operations and...

Magma includes permutation
Permutation group
In mathematics, a permutation group is a group G whose elements are permutations of a given set M, and whose group operation is the composition of permutations in G ; the relationship is often written as...

, matrix
Matrix (mathematics)
In mathematics, a matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements isMatrices of the same size can be added or subtracted element by element...

, finitely-presented, soluble
Solvable group
In mathematics, more specifically in the field of group theory, a solvable group is a group that can be constructed from abelian groups using extensions...

, abelian
Abelian group
In abstract algebra, an abelian group, also called a commutative group, is a group in which the result of applying the group operation to two group elements does not depend on their order . Abelian groups generalize the arithmetic of addition of integers...

 (finite or infinite), polycyclic
Polycyclic group
In mathematics, a polycyclic group is a solvable group that satisfies the maximal condition on subgroups...

, braid
Braid group
In mathematics, the braid group on n strands, denoted by Bn, is a group which has an intuitive geometrical representation, and in a sense generalizes the symmetric group Sn. Here, n is a natural number; if n > 1, then Bn is an infinite group...

 and straight-line program groups
Group (mathematics)
In mathematics, a group is an algebraic structure consisting of a set together with an operation that combines any two of its elements to form a third element. To qualify as a group, the set and the operation must satisfy a few conditions called group axioms, namely closure, associativity, identity...

. Several databases of groups are also included.
  • Number theory
    Number theory
    Number theory is a branch of pure mathematics devoted primarily to the study of the integers. Number theorists study prime numbers as well...

Magma contains asymptotically-fast
Big O notation
In mathematics, big O notation is used to describe the limiting behavior of a function when the argument tends towards a particular value or infinity, usually in terms of simpler functions. It is a member of a larger family of notations that is called Landau notation, Bachmann-Landau notation, or...

 algorithms for all fundamental integer and polynomial operations, such as the Schönhage–Strassen algorithm for fast multiplication of integers and polynomials. Integer factorization
Integer factorization
In number theory, integer factorization or prime factorization is the decomposition of a composite number into smaller non-trivial divisors, which when multiplied together equal the original integer....

 algorithms include the Elliptic Curve Method
Lenstra elliptic curve factorization
The Lenstra elliptic curve factorization or the elliptic curve factorization method is a fast, sub-exponential running time algorithm for integer factorization which employs elliptic curves. For general purpose factoring, ECM is the third-fastest known factoring method...

, the Quadratic sieve
Quadratic sieve
The quadratic sieve algorithm is a modern integer factorization algorithm and, in practice, the second fastest method known . It is still the fastest for integers under 100 decimal digits or so, and is considerably simpler than the number field sieve...

 and the Number field sieve.
  • Algebraic number theory
    Algebraic number theory
    Algebraic number theory is a major branch of number theory which studies algebraic structures related to algebraic integers. This is generally accomplished by considering a ring of algebraic integers O in an algebraic number field K/Q, and studying their algebraic properties such as factorization,...

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
Algebraic closure
In mathematics, particularly abstract algebra, an algebraic closure of a field K is an algebraic extension of K that is algebraically closed. It is one of many closures in mathematics....

 of a field.
  • Module theory and linear algebra
    Linear algebra
    Linear algebra is a branch of mathematics that studies vector spaces, also called linear spaces, along with linear functions that input one vector and output another. Such functions are called linear maps and can be represented by matrices if a basis is given. Thus matrix theory is often...

Magma contains asymptotically-fast
Big O notation
In mathematics, big O notation is used to describe the limiting behavior of a function when the argument tends towards a particular value or infinity, usually in terms of simpler functions. It is a member of a larger family of notations that is called Landau notation, Bachmann-Landau notation, or...

 algorithms for all fundamental dense matrix operations, such as Strassen multiplication
Strassen algorithm
In the mathematical discipline of linear algebra, the Strassen algorithm, named after Volker Strassen, is an algorithm used for matrix multiplication...

.
  • Sparse matrices
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.
  • Lattices
    Lattice (group)
    In mathematics, especially in geometry and group theory, a lattice in Rn is a discrete subgroup of Rn which spans the real vector space Rn. Every lattice in Rn can be generated from a basis for the vector space by forming all linear combinations with integer coefficients...

     and the LLL algorithm
Magma has a provable implementation of fpLLL, 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.
  • Commutative algebra
    Commutative algebra
    Commutative algebra is the branch of abstract algebra that studies commutative rings, their ideals, and modules over such rings. Both algebraic geometry and algebraic number theory build on commutative algebra...

     and Gröbner bases
Magma has an efficient implementation of the Faugère F4 algorithm
Faugère F4 algorithm
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...

 for computing Gröbner bases.
  • Representation theory
    Representation theory
    Representation theory is a branch of mathematics that studies abstract algebraic structures by representing their elements as linear transformations of vector spaces, and studiesmodules over these abstract algebraic structures...

Magma has extensive tools for computing in representation theory, including the computation of character tables of finite groups and the Meataxe algorithm.
  • Invariant theory
    Invariant theory
    Invariant theory is a branch of abstract algebra dealing with actions of groups on algebraic varieties from the point of view of their effect on functions...

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.
  • Lie theory
    Lie theory
    Lie theory is an area of mathematics, developed initially by Sophus Lie.Early expressions of Lie theory are found in books composed by Lie with Friedrich Engel and Georg Scheffers from 1888 to 1896....

  • Algebraic geometry
    Algebraic geometry
    Algebraic geometry is a branch of mathematics which combines techniques of abstract algebra, especially commutative algebra, with the language and the problems of geometry. It occupies a central place in modern mathematics and has multiple conceptual connections with such diverse fields as complex...

  • Arithmetic geometry
  • Finite incidence structures
  • Cryptography
    Cryptography
    Cryptography is the practice and study of techniques for secure communication in the presence of third parties...

  • Coding theory
    Coding theory
    Coding theory is the study of the properties of codes and their fitness for a specific application. Codes are used for data compression, cryptography, error-correction and more recently also for network coding...

  • Optimization
    Optimization (mathematics)
    In mathematics, computational science, or management science, mathematical optimization refers to the selection of a best element from some set of available alternatives....


See also

  • Comparison of computer algebra systems
  • Sage, an open source computer algebra system

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK