Let K be a finite field and let V be the vector space of n-tuples over K. The Hamming-distance between elements x and y of V, denoted d(x, y), is defined by d(x, y) := #{ 1 ≤i ≤n | xi != yi }. The minimum distance d for a subset C of V is then d = min{ d(x, y) | x ∈C, y ∈C, x != y }. The subset C of V is called an (n, M, d) code if the minimum distance for the subset C is d and |C| = M. Then V is referred to as the ambient space of C.
The code C is called a [n, k, d] linear code if C is a k-dimensional subspace of V. Currently Magma supports not only linear codes, but also codes over finite fields which are only linear over some subfield. These are known as additive codes and can be found in Chapter ADDITIVE CODES. This chapter deals only with linear codes.
In this chapter, the term "code" will refer to a linear code. Magma provides machinery for studying linear codes over finite fields Fq=GF(q), over the integer residue classes Zm = Z/mZ, and over galois rings GR(pn, k).
This chapter describes those functions which are applicable to codes over Fq. The highlights of the facilities provided for such codes include: