Magma computer algebra system
From Wikipedia, the free encyclopedia
Magma | |
Developer: | Computational Algebra Group, School of Mathematics and Statistics, University of Sydney |
---|---|
Latest release: | 2.13 / July 2006 |
OS: | Cross-platform |
Use: | Computer algebra system |
License: | Cost recovery (non-commercial proprietary) |
Website: | http://magma.maths.usyd.edu.au/magma/ |
Magma is a high performance computer algebra system designed to solve problems in algebra, number theory, geometry and combinatorics. It is named after the algebraic structure magma. The current version as of July 2006 is 2.13. It is non-commercial proprietary software, distributed under a cost recovery licence. It runs mainly on the Unix-like and Linux based operating systems, but also supports Windows.
Contents |
[edit] Introduction
Magma is produced and distributed by the Computational Algebra Group within the School of Mathematics and Statistics of the University of Sydney. Magma contains many of the most advanced and efficient known algorithms for the areas which it covers.
[edit] 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 the form 2.X have been released approximately once per year.
[edit] 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 the only provable implementation of fpLLL [1], which is a 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.
- Lie Theory
- Algebraic Geometry
- Arithmetic Geometry
- Finite Incidence Structures
- Cryptography
- Coding Theory
- Optimization