Next: Summary of this Document
Up: Introduction
Previous: Introduction
Magma is a Computer Algebra system designed to solve problems in
algebra, number theory, geometry and combinatorics that may involve
sophisticated mathematics and which are computationally hard. Magma
provides a mathematically rigorous environment which emphasizes structural computation. A key feature is the ability to construct
canonical representations of structures, thereby making possible such
operations as membership testing, the determination of structural
properties and isomorphism testing.
The kernel of Magma contains implementations of many of the important
concrete classes of structure in five fundamental branches of algebra,
namely group theory, ring theory, field theory, module theory and the
theory of algebras. In addition, certain families of structures from
algebraic geometry and finite incidence geometry are included.
The main features of the Magma system include:
- 1.
- Algebraic Design Philosophy: The design principles
underpinning both the user language and system architecture are based
on ideas from universal algebra and category theory. The language
attempts to approximate as closely as possible the usual mathematical
modes of thought and notation. In particular, the principal constructs
in the user language are set, (algebraic) structure and morphism.
- 2.
- Universality: In-depth coverage of all the major branches
of algebra, number theory, algebraic geometry and finite incidence
geometry.
- 3.
- Integration: The facilities for each area are designed
in a similar manner using generic constructors wherever possible.
The uniform design makes it a simple matter to program calculations
that span different classes of mathematical structures or which
involve the interaction of structures.
- 4.
- Performance: The intention is that Magma provide the best
possible performance both in terms of the algorithms used and their
implementation. The design philosophy permits the kernel implementor
to choose optimal data structures at the machine level. Most of the
major algorithms currently installed in the Magma kernel are state-of-the-art
and give performance similar to, or better than, specialized programs.
The purpose of this document is to provide an overview of the structures
and operations that are implemented in Magma. A collection of illustrative
examples may be found at the Magma home page:
SPMquothttp://magma.maths.usyd.edu.au/" -
also available from this web site are a number of short papers written
by experts describing applications of Magma in various branches of
mathematics.
Next: Summary of this Document
Up: Introduction
Previous: Introduction