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 | x_i != y_i }. The minimum distance d for a subset C of V is then d = min{ d(x, y) | x in C, y in 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. The code C is called a [n, k, d] linear code if C is a k-dimensional subspace of V. Then V is also called the ambient space of C.
Currently, Magma supports only linear codes. In this chapter, the term "code" will refer to a linear code. Magma provides machinery for studying linear codes over finite fields F_q=GF(q) and over the finite rings Z_m=Z/mZ (the integer residue classes modulo m).
This chapter describes those functions which are applicable to codes over F_q. The highlights of the facilities provided for such codes include: