# Magma Handbook

Magma is a computer algebra system for computations in algebra, number theory,
algebraic geometry, and combinatorics. This handbook documents the functions,
data types, and algorithms available in the system.

---

PrefaceAbout Magma and the handbook

[Preface](preface.md)
---

The Magma LanguageSyntax, types, control flow, procedures, functions and the Magma programming model.

[The Magma Language](MagmaLanguage/index-magma-language.md)Sets, Sequences and MappingsFundamental aggregate types: sets, multisets, sequences, tuples and mappings.

[Sets, Sequences and Mappings](SetsSequencesMappings/index-sets-sequences-mappings.md)Basic RingsIntegers, rationals, finite fields, residue class rings and polynomial rings.

[Basic Rings](BasicRings/index-basic-rings.md)Matrices and Linear AlgebraMatrix construction, arithmetic, decompositions and solving linear systems.

[Matrices and Linear Algebra](MatricesLinearAlgebra/index-matrices-linear-algebra.md)Lattices and Quadratic FormsIntegral lattices, quadratic forms, reduction algorithms and enumeration.

[Lattices and Quadratic Forms](LatticesQuadraticForms/index-lattices-quadratic-forms.md)Global FieldsNumber fields and function fields: rings of integers, ideals, class groups and units.

[Global Fields](GlobalFields/index-global-fields.md)Local Fieldsp-adic fields and formal power series: completions, extensions and Newton polygons.

[Local Fields](LocalFields/index-local-fields.md)ModulesModules over rings, free and finitely generated modules, and homological constructions.

[Modules](Modules/index-modules.md)Finite GroupsPermutation groups, matrix groups and generic finite groups with structural algorithms.

[Finite Groups](FiniteGroups/index-finite-groups.md)Finitely Presented GroupsGroups given by generators and relations, coset enumeration and rewriting systems.

[Finitely Presented Groups](FinitelyPresentedGroups/index-finitely-presented-groups.md)AlgebrasAssociative and non-associative algebras, quaternion algebras and crossed products.

[Algebras](Algebras/index-algebras.md)Representation TheoryCharacters, modules over group algebras, and ordinary and modular representations.

[Representation Theory](RepresentationTheory/index-representation-theory.md)Lie TheoryLie algebras, root systems, Coxeter groups and Chevalley groups.

[Lie Theory](LieTheory/index-lie-theory.md)Commutative AlgebraIdeals in polynomial rings, Gröbner bases, primary decomposition and schemes.

[Commutative Algebra](CommutativeAlgebra/index-commutative-algebra.md)Algebraic GeometrySchemes, varieties, divisors and sheaves over general fields.

[Algebraic Geometry](AlgebraicGeometry/index-algebraic-geometry.md)Arithmetic GeometryElliptic and hyperelliptic curves, Jacobians, rational points and descent.

[Arithmetic Geometry](ArithmeticGeometry/index-arithmetic-geometry.md)Modular Arithmetic GeometryModular forms, modular curves and related L-functions.

[Modular Arithmetic Geometry](ModularArithmeticGeometry/index-modular-arithmetic-geometry.md)TopologySimplicial complexes, homology groups and topological invariants.

[Topology](Topology/index-topology.md)GeometryProjective and affine geometry, polytopes and incidence structures.

[Geometry](Geometry/index-geometry.md)CombinatoricsGraphs, designs, permutation groups on sets and combinatorial enumeration.

[Combinatorics](Combinatorics/index-combinatorics.md)Coding TheoryLinear codes, decoding algorithms and bounds on minimum distance.

[Coding Theory](CodingTheory/index-coding-theory.md)CryptographyCryptographic primitives and number-theoretic cryptographic algorithms.

[Cryptography](Cryptography/index-cryptography.md)OptimizationInteger programming, lattice problems and optimization over algebraic structures.

[Optimization](Optimization/index-optimization.md)
---

General IndexAlphabetical index of all functions

[Index](genindex.md)ReferencesBibliography

[References](references.md)
