Los Códigos lineales son espacios vectoriales sobre un cuerpo finito (un alfabeto):

Un código lineal binario tiene un número de palabras que es potencia de 2. Se un código y una palabra: el peso de es el número de símbolos no nulos de . Dada la Distancia de Hamming, se verifica para códigos lineales que y .

Formalmente se define el peso de como . Si el código es lineal, entonces también se cumple que .

Matriz Generatriz

Sea un -código lineal (CL) sobre un cuerpo con . Se define una matriz generatriz de como , cuyas filas forman una base de . Las filas son un conjunto linealmente independiente y tiene rango igual al número de filas.

Si es matriz generatriz de un CL sobre . Se tiene que , y aplicando un isomorfismo de -espacios vectoriales: y .

Interesa encontrar matrices generatrices sencillas para que la decodificación sea sencilla.

  1. Sea una permutación posicional en la que cada palabra con se sustituye por . Ej: .
  2. Sea una permutación de símbolos en la que cada palabra se sustituye por . Ej: . Cada elemento va a la posición del siguiente y el último va a la primera posición.

Se dice que es equivalente a cuando se obtiene de al aplicar las operaciones anteriores. Es una relación de equivalencia. Los códigos equivalentes conservan longitud, tamaño, y distancia. Sea de longitud sobre y .

Una matriz generatriz se dice normalizada o estándar cuando es , donde es la matriz identidad de .

Si un código tiene una matriz generatriz estándar, entonces es un código sistemático. Por ejemplo, el código ASCII con un bit de paridad.

Se verifica que:

  1. Todo código lineal es equivalente a un código sistemático.
  2. Todo código sistemático tiene una única matriz generatriz estándar.
  3. Si es un -código sistemático para cada existe una única palabra del código de la forma . Es decir, se toma todo y se le añaden símbolos.

Decodificación

La decodificación puede ser:

  • De Canal: si las palabras recibidas no son del código, se las sustituye por una del código. Para esto se usa un código detector de errores.
  • De Fuente: se toma la información y se la pasa a su formato original. Una vez recibido se recupera resolviendo un sistema de ecuaciones lineales con solución única. Tiene rango , es decir que hay ecuaciones linealmente independientes.

Matriz de Control

El código dual u ortogonal de un -código es . Si es un -código entonces es un -código.

Se llama matriz de control a cualquier generatriz de . Si es matriz de control de , se cumple que cuando es un -código y .

Un código lineal se dice autodual cuando .

Sea un código lineal sistemático con matriz generatriz estándar de manera que se define una matriz de control de . La matriz es estándar cuando tiene la forma .

Es más fácil obtener las palabras del código al tener la matriz de control estándar. También existe un método directo, partiendo desde las matrices de control, para obtener el peso .