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.
- Sea una permutación posicional en la que cada palabra con se sustituye por . Ej: .
- 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:
- Todo código lineal es equivalente a un código sistemático.
- Todo código sistemático tiene una única matriz generatriz estándar.
- 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 .