[Next][Prev] [Right] [____] [Up] [Index] [Root]

Introduction

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), over the integer residue classes Z_m = Z/mZ, and over galois rings GR(p^n, k).

This chapter describes those functions which are applicable to codes over F_q. The highlights of the facilities provided for such codes include:

The construction of codes in terms of generator matrices, parity check matrices and generating polynomials (cyclic codes).

A large number of constructions for particular families of codes, e.g., quadratic residue codes.

Highly optimized algorithms for the calculation of the minimum weight.

Various forms of weight enumerator including the Macwilliams transform.

A database that gives the user access to every best known linear code over GF(2) of length up to 256, and 98% of best known linear codes over GF(4) of length up to 100.

Machinery that allows the user to construct algebraic--geometric codes from a curve defined over F_q.

The computation of automorphism groups for codes over small fields.

The reader is referred to [MS78] as a general reference on coding theory.

 [Next][Prev] [Right] [____] [Up] [Index] [Root]