Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y...

101
Apuntes 2018-2019 Grado odigos correctores de errores Juan Jacobo Sim´ on Pinero 25 de octubre de 2018

Transcript of Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y...

Page 1: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Apuntes 2018-2019 Grado

Codigos correctores de errores

Juan Jacobo Simon Pinero

25 de octubre de 2018

Page 2: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Indice general

1. Informacion y codigos 31.1. La transmision de la informacion . . . . . . . . . . . . . . . . . . 31.2. Medida de la incertidumbre y de la

informacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3. Capacidad de un canal con interferencias . . . . . . . . . . . . . . 121.4. Codigos correctores de errores . . . . . . . . . . . . . . . . . . . . 171.5. Teorema de Shannon . . . . . . . . . . . . . . . . . . . . . . . . . 20

2. Generalidades sobre Codigos 212.1. Conceptos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2. Equivalencia y automorfismos de codigos . . . . . . . . . . . . . . 292.3. Construccion de codigos a partir de otros . . . . . . . . . . . . . 30

3. Codigos lineales 333.1. Conceptos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2. Codigos duales u ortogonales . . . . . . . . . . . . . . . . . . . . 373.3. Pesos y distancias . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4. Codificacion y decodificacion . . . . . . . . . . . . . . . . . . . . 403.5. Construcciones con codigos lineales . . . . . . . . . . . . . . . . . 44

4. El problema principal de la teorıa de codigos.Cotas a los parametros 474.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2. Cota de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . . 494.3. Cota de Singleton y codigos MDS . . . . . . . . . . . . . . . . . . 494.4. Otras cotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5. Codigos clasicos que se realizan como codigos lineales 525.1. Codigos de Hamming y codigos simplex . . . . . . . . . . . . . . 525.2. Codigos de Golay . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.3. Codigos de Reed-Muller (binarios) . . . . . . . . . . . . . . . . . 56

1

Page 3: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

INDICE GENERAL 2

6. Cuerpos finitos 596.1. Aritmetica de cuerpos finitos . . . . . . . . . . . . . . . . . . . . 596.2. Polinomios y numeros algebraicos . . . . . . . . . . . . . . . . . . 616.3. Existencia y unicidad. . . . . . . . . . . . . . . . . . . . . . . . . 646.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.5. El anillo F[X]/(Xn − 1) . . . . . . . . . . . . . . . . . . . . . . . 686.6. Automorfismos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

7. Codigos cıclicos 757.1. Conceptos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . 757.2. Codigos cıclicos y anillos de polinomios . . . . . . . . . . . . . . . 767.3. Ceros de un codigo cıclico y matriz

de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797.4. Codificacion y decodificacion en codigos

cıclicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817.5. Cota BCH y la transformada de Fourier

discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847.6. Distancia aparente y cota BCH . . . . . . . . . . . . . . . . . . . 88

8. Codigos clasicos que se realizan como codigos cıclicos 938.1. Codigos de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . 938.2. Codigos BCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958.3. Codigos de Reed-Solomon . . . . . . . . . . . . . . . . . . . . . . 98

Page 4: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Capıtulo 1

Informacion y codigos

1.1. La transmision de la informacion

La transmision de la informacion digital consiste en enviar mensajes, o ca-denas de “palabras” que son, a su vez, cadenas de elementos de un “alfabeto” oconjunto de sımbolos, donde incluimos tambien a las senales de cualquier tipo.Ası, los mensajes seran cadenas de sımbolos que separaremos en palabras (talvez una o tal vez, muchas).

Los sımbolos se envıan a traves de un canal. Un canal es cualquier mediode transmision, como puede ser el cable de telefono, la fibra optica, las ondasde radio, el empleado del supermercado que “teclea” en la caja el codigo debarras de un producto cuando ha fallado el lector, etcetera; aunque al finalsiempre trabajaremos con algunas restricciones. Desde el punto de vista de lafiabilidad de la transmision hay dos tipos fundamentales de canales; a saber,los canales con interferencia (o ruido) y los canales sin interferencia. Nosotrossolo nos ocuparemos del estudio de los canales con interferencia o ruido, que,obviamente, es el caso donde se pueden producir errores.

En este texto, ademas, solo nos ocuparemos de la parte cuantitativa de latransmision de la informacion y no del significado (si analizamos el contenidode los mensajes que normalmente se transmiten en el mundo, seguro que nosdesanimamos).

El siguiente cuadro refleja el proceso directo de la transmision de mensajes.

Figura 1.1.1: Esquema general

emisor - canal - receptor

Codificar mensajes es reescribirlos (en el caso no trivial) en forma diferen-te, incluso usando un alfabeto distinto, pero nosotros siempre lo haremos bajo

3

Page 5: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 4

determinadas reglas. Una de ellas es que cada palabra no pueda tener mas deuna correspondiente en el codigo; formalmente, la codificacion es una aplicacion.Vamos a verlo. Para cualquier alfabeto A, denotamos con Pal(A) el conjuntode todas sus palabras. A lo largo de todo el curso los alfabetos seran siempreconjuntos finitos.

1.1.1. Definicion. Sean A,F alfabetos y sea M ⊆ Pal (A) un subconjuntofinito.

1. Una codificacion del alfabeto es una aplicacion inyectiva C : A → Pal(F).

2. Una codificacion de palabras de M es una aplicacion inyectiva C : M →Pal(F).

Llamamos codigo a la imagen de C y se llama palabra codigo o simplementepalabra a cada uno de sus elementos.

1.1.2. Observacion. Sean A,F alfabetos y sea M ⊆ Pal (A) un subconjuntofinito. Supongamos que estamos transmitiendo informacion codificada a travesde un canal. El proceso de decodificacion lo realizaremos siempre en dos pasos;a saber:

1. Separaremos (de alguna forma) la lista de sımbolos en partes a las queasignaremos palabras del codigo.

2. A cada palabra de codigo le asignaremos su imagen inversa (que es unica)bajo C.

1.1.3. Ejemplo. Supongamos que somos un GPS para un punto que se va amover en un tablero. Partimos de una casilla “salida” y tenemos que mostrarle laruta a la casilla “meta”. Nuestro alfabeto y palabras seran A = ↑, ↓,←,→ =M .

Vamos a transmitir la ruta al punto de forma codificada; es decir, definiremosuna aplicacion C : M → Pal (F), para algun conjunto F. Luego se decodificaray entonces el punto seguira la ruta que aparece en el tablero.

s

m

Elegimos una ruta que se transmitira completa↓, ↓,→,→, ↓,→,→, ↓

Ahora codificamos. Lo haremos con tres codigos diferentes:

Codificacion 1: Hacemos F = Z2, y C (↑) = 0, C (↓) = 1, C (→) =10, C (←) = 01.

Entonces enviamos la cadena 111010110101 que se transmite sin errores yahora se tiene que decodificar. El problema es que, quien recibe la cadena tiene

Page 6: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 5

mas posibilidades de decodificar que la contemplada por nosotros. Vamos a verdos opciones mas:

Una es: 1 1 1 01 01 10 10 1que se decodifica: ↓ ↓ ↓ ← ← → → ↓

Otra: 1 1 1 0 1 0 1 1 0 1 0 1que se decodifica: ↓ ↓ ↓ ↑ ↓ ↑ ↓ ↓ ↑ ↓ ↑ ↓

Como se puede apreciar, estas decodificaciones conducen a rutas no deseadas.

Para resolver este problema agregamos un sımbolo, el “STOP”, digamos ],como en la Clave Morse.

Codificacion 2: Hacemos F = Z2∪], y C (↑) = 0], C (↓) = 1], C (→) =10], C (←) = 01] con tres sımbolos, pero si solo podemos enviar binariospodrıamos que hacer algo como F = Z2, y C (↑) = 01, C (↓) = 001, C (→) =0001, C (←) = 00001, o sea que el numero de cifras “0” nos indica la direccionde la flecha y el “1” el STOP.

Entonces enviamos

1]1]10]10]1]10]10]1]o, en binario,

0010010001000100100010001001

Estas codificaciones no dejan lugar a dudas sobre la decodificacion. A estetipo de codigos los llamaremos codigos de decodificacion unica.

Hay una tercera alternativa:

Codificacion 3: C (↑) = 00, C (↓) = 11, C (→) = 10, C (←) = 01Esta decodificacion no necesita sımbolo de separacion porque tiene una pro-

piedad permanente que de antemano sabra siempre el decodificador: que laspalabras tienen longitud fija; a saber, longitud 2. Ası que usa dos sımbolos y esde decodificacion unica.

Enviamos1111101011101011

y tiene solo una interpretacion, la que queremos.

Tipos de codigos

En general, el uso de los codigos abarca tres grandes objetivos en la trans-mision de la informacion:

1. Comprimir mensajes.

2. Detectar y corregir posibles errores.

3. Garantizar la privacidad.

Page 7: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 6

En pocas palabras, hacer la transmision rapida, fiable y segura. La teorıaaborda por separado cada uno de estos objetivos, porque son, de hecho, inde-pendientes. Ası, tenemos tres tipos diferentes de codigos; a saber,

1. Los codigos compresores.

2. Los codigos correctores de errores.

3. Los codigos criptograficos o secretos.

Nosotros solo nos ocuparemos de los codigos correctores de errores. El pro-ceso de codificar, enviar y decodificar, modifica la Figura 1.1.1 a la Figura 1.1.2.

Figura 1.1.2: Transmision codificada

emisor - canal - receptor

codificador decodificador- 6 - 6

1.1.4. Definicion. Decimos que un codigo es de decodificacion unica si cadavez que recibimos una cadena de sımbolos, o mensaje, esta corresponde con unaunica lista de palabras.

1.1.5. Definicion.

1. Decimos que una palabra tiene longitud n ∈ N si utiliza exactamente nsımbolos.

2. Decimos que un codigo es un codigo en bloques (o bloqueado) si existen ∈ N, tal que toda palabra es de longitud n.

Se tiene por supuesto la definicion, obvia, de codigo de longitud variable.Nosotros solo nos ocuparemos del estudio de los codigos en bloques. Un ejemplotıpico e importante de codigo de longitud variable es la Clave Morse. Uno debloques es el codigo de barras donde, ademas, todo mensaje tiene exactamenteuna palabra.

1.1.6. Observacion. Es claro que todo codigo en bloques es de decodificacionunica.

1.2. Medida de la incertidumbre y de lainformacion

Vamos a comentar como se lleva a cabo la cuantificacion de la informacion(que se va a transmitir a traves de un canal). En [11] y [13] se pueden encon-

Page 8: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 7

trar exposiciones mas amplias de este tema. Nosotros solo vamos a hacer unaexposicion breve e intuitiva, tratando de no perder por ello claridad.

El criterio para cuantificar la informacion sera “mas informa mientras massorprende” o, en terminos mas cercanos a la probabilidad, “mas informacontiene mientras menos probable es que ocurra”. Por ejemplo, casi nunca veremosuna noticia que diga “manana por la manana saldra el sol”; ya sabemos que vaa ocurrir manana y muchos anos pues no esta previsto a corto plazo una colisiono que el sol se apague. Lo que es noticia es que en un dıa despejado el sol seesconda; es decir, que haya un eclipse de sol.

Vamos a transmitir informacion usando palabras; es decir, cadenas de sımbo-los (y senales). Cada sımbolo tiene una probabilidad de aparecer; ası que, si Aes un alfabeto, podemos establecer una distribucion de probabilidades sobre elsuceso “que aparezca a ∈ A (en una palabra o en un mensaje)”

Una fuente de informacion [11] (source of transmision [13]) es una pareja(A,P) formada por un alfabeto A junto con una distribucion de probabilidadesP; es decir,

∑a∈A p(a) = 1. Se puede extender la fuente original; por ejemplo, si

A = a1, a2 (que normalmente denotamos conA = 0, 1), podemos extenderlaa An, de la forma obvia. Entonces, volvemos a calcular la probabilidad. Porejemplo, si los sucesos son independientes entonces para v ∈ An, se tiene p(v) =∏ni=1 p(v(i)) y ası seguimos con las palabras, etcetera.Cuando no se preste a confusion, escribiremos A = (A,P).Lo anterior puede replantearse en terminos puramente probabilısticos y de-

finir una fuente de informacion como una variable aleatoria sobre el espacio desucesos de las palabras o los sımbolos.

1.2.1. Ejemplo. Vamos a construir una fuente para enviar palabras en binario,simplificando el codigo ASCII.

Supongamos que tenemos un canal binario para enviar mensajes de palabrasen castellano. Podemos usar, por ejemplo, el Codigo ASCII extendido (AmericanStandard Code for Information Interchange).

Es una codificacion numerica de la que escribimos su version binaria, de28 = 256 sımbolos (letras, numeros, etc.) pensado sobre todo para transmitirtextos en ingles. Cada sımbolo tiene asociada una cadena 8 dıgitos binarios.

El codigo ASCII tiene dos tipos de caracteres, los imprimibles y los de con-trol. La tabla del codigo es muy larga y no podemos reproducirla completa aquı.Lo que haremos es crear nuestra propia tabla solo para las letras del castellanoy algunos sımbolos, como los parentesis y el nuevo parrafo.

Page 9: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 8

Imitacion del codigo ASCII

Sımbolo Decimal Binario

t 00 00000( 01 00001) 02 00010 (salto) 03 00011. 04 00100A 05 00101B 06 00110C 07 00111D 08 01000E 09 01001F 10 01010G 11 01011H 12 01100I 13 01101J 14 01110K 15 01111

Sımbolo Decimal Binario

L 16 10000M 17 10001N 18 10010

N 19 10011O 20 10100P 21 10101Q 22 10110R 23 10111S 24 11000T 25 11001U 26 11010V 27 11011W 28 11100X 29 11101Y 30 11110Z 31 11111

Ahora vamos a calcular la distribucion de la fuente para A = 0, 1.Si fuesemos a usar estas letras para enviar mensajes en cualquier lengua,

debemos obtener la distribucion de la fuente simplemente contando las frecuen-cias; es decir, asumiendo que las letras estan distribuidas uniformemente. Esobvio que vuleve a salir equiprobable; es decir p(0) = p(1) = 1

2 .Ahora vamos a suponer que solo nos interesa enviar palabras en castellano.

Entonces es conveniente tomar en cuenta la distribucion de las letras y demascaracteres del castellano, que aparecen a continuacion.

Distribucion de las letras del castellano y el espacio

Sım-bolo

Proba-bilidad

E 0,1460t 0,1140A 0,1041O 0,0756L 0,0729S 0,0685N 0,0610D 0,0598R 0,0430U 0,0418I 0,0361

Sım-bolo

Proba-bilidad

T 0,0288C 0,0254P 0,0240M 0,0185Y 0,0134Q 0,0133. 0,0097B 0,0080H 0,0078G 0,0064F 0,0045

Sım-bolo

Proba-bilidad

V 0,0034 0,0029J 0,0027

N 0,0026( 0,0019) 0,0019Z 0,0013X 0,0005K <0,0001W <0,0001

Page 10: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 9

Esta tabla ya es una fuente, pues tiene sus sımbolos y su distribucion. No-sotros queremos una fuente EN BINARIO y que considere la aparicion de 0 y 1como sucesos independientes. Vamos a calcular la distribucion de la fuente paraA = 0, 1 tomando la tabla de imitacion del codigo ASCII y la distribucionanterior.

Las cuentas para la nueva distribucion las haremos simplemente calculandolas probabilidades del 0 y 1, de la forma habitual, por ejemplo,

p(0) =∑

sımbolos

p(sımbolo) · p(0|sımbolo)

y lo mismo con p(1). Ası obtenemos

Distribucion con la tabla binaria y las letras del castellano.

Sımbolo Probabilidad0 0,61371 0,3863

Un ejemplo mas manejable es el siguiente.

1.2.2. Ejemplo. Supongamos que en la situacion del GPS (1.1.3), conocemosuna distribucion.

Sımbolo Probabilidad Codificacion↑ 1/2 00↓ 1/4 11→ 1/16 10← 3/16 01

Igual que antes, calculamos la nueva distribucion binaria.

Distribucion con la tabla binaria y el GPS.

Sımbolo Probabilidad0 5/81 3/8

Medida de informacion

En vista de lo anterior, queremos determinar la cantidad de informacion ogrado de incertidumbre para un sımbolo o una palabra; o mas bien, el sucesode que aparezca.

Supongamos que tomamos una muestra de una fuente de informacion (A,P);es decir, elegimos aleatoriamente un elemento de la fuente de acuerdo con la

Page 11: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 10

distribucion de probabilidades que tiene. Entonces, ANTES de que el mues-treo tenga lugar existe una cantidad de INCERTIDUMBRE asociada con laaparicion y, DESPUES de recoger la muestra, hemos ganado cierta cantidadde INFORMACION. Ası, aunque ambos conceptos tendran asociada la mismacantidad, que denotaremos con I(a)1, para a ∈ A, el grado de incertidumbre esun concepto a priori mientras que la cantidad de informacion es un concepto aposteriori.

Ahora queremos un modelo para calcular la cantidad de informacion. Loharemos en dos pasos.

1. Como hemos visto, el concepto de cantidad de informacion esta asociadocon la probabilidad de tal forma que queremos que haya mas informacioncuanto menos probable sea el suceso. En terminos de matematicas, que-remos una proporcion inversa. Ası que buscamos una funcion de la formaf (1/p), donde f serıa una funcion creciente (por lo pronto la identidadsirve, pero todavıa no terminamos con las exigencias).

2. Consideremos el caso en que los sucesos son independientes (el caso massimple). Nos interesa que la cantidad se comporte como tal, es decir que lacantidad de informacion asociada a la interseccion de sucesos sea la sumade sus cantidades. Como bien sabemos, la probabilidad de que ocurrandos o mas sucesos, digamos p(a) = p y p(b) = q, es el producto de susprobabilidades; esto es pq; ası que necesitamos que cumpla la siguientepropiedad

f

(1

pq

)= f

(1

p

)+ f

(1

q

)De toda la vida conocemos el siguiente resultado.

1.2.3. Teorema. Sea f : (0, 1]→ R una funcion tal que:

1. f es decreciente y

2. f(xy) = f(x) + f(y) para todo x, y ∈ (0, 1].

Entonces existe una constante k < 0 tal que f(x) = k ln(x).

Demostracion. Por usar un libro de codigos, vease [8, Proposicion 2.2.2], o cual-quier libro de calculo.

Esto nos lleva a la siguiente definicion.

1.2.4. Definicion. Sea (A,P) una fuente de informacion. El grado de incer-tidumbre o la cantidad de informacion (binaria) asociado al sımbolo a ∈ A (alsuceso de que este aparezca) esta dado por

I(a) = log2

(1

p(a)

)siempre que p(a) 6= 0. En el caso p(a) = 0, diremos que no podemos determinarla informacion.

1Por suerte, informacion e incertidumbre empiezan con “i”.

Page 12: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 11

En principio, la eleccion del logaritmo en base 2 es arbitraria y se puededefinir informacion n-aria. En base 2, la unidad queda establecida en un canalbinario equiprobable.

Sea (A,P) una fuente de informacion donde A = a, b (puedes sustituirpor 0 y 1 si quieres) y P =

p = 1

2 , q = 12

. En este caso, es trivial que I(a) =

I(b) = 1; pues log2

(1p

)= log2

(1

( 12 )

)= log2(2) = 1.

Ası que

1.2.5. Definicion. Un bit es la cantidad de informacion (binaria) que tiene unelemento de una fuente binaria y equiprobable.

Notese que en una fuente equiprobable con tres elementos, la cantidad deinformacion (binaria) que tiene cada sımbolo es MAYOR que un bit.

1.2.6. Ejemplos.

1. En la situacion de (1.2.1), podemos calcular algunas cantidades de infor-macion usando la fuente de las letras del castellano yu su paso a binario.

I(E) = 2, 7760 bits.

I(I) = 5, 1178 bits.

I(Z) = 9, 5872 bits.

Ademas, en la tabla de la distribucion binaria, I(0) = 0, 7744 e I(1) =1, 3722.

2. En la situacion de la distribucion del GPS (1.2.2) se tiene:

a) I (↑) = 1.

b) I (↓) = 2.

c) I (→) = 4.

d) I (←) = 4− log2(3).

3. Ahora vamos a ver un caso trivial, que a veces ilustran. Sea (A,P) unafuente de informacion donde A = a, solo tiene un sımbolo. En este caso,trivialmente, I(a) = 0 y esto nos corrobora algo obvio. Si solo hay unsımbolo, no hay informacion.

Entropıa

Segun el diccionario de la RAE, entropıa tiene dos usos. El primero en fısica:medida del desorden de un sistema. El segundo en teorıa de la informacion:medida de incertidumbre (y en consecuencia, de informacion).

Formalmente, la entropıa (binaria) de una fuente de informacion, digamos(A,P), es el promedio ponderado de la cantidad de informacion (cuando estedefinida, claro) de los sımbolos de A; es decir,

H (A,P) =∑a∈A

p(a)I(a) =∑a∈A

p(a) log2

(1

p(a)

)( bits ).

Page 13: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 12

A efectos de calculo, usaremos la convencion de que si p(a) = 0 entonces

p(a)I(a) = 0 = p(a) log2

(1

p(a)

)ya que 0 = lımx→0 x log2

(1x

).

1.2.7. Ejemplos.

1. En la situacion del castellano (1.2.1) se tiene que entropıa del alfabeto ylos sımbolos es 4, 0665, mientras que la del binario es 0, 9624.

2. En la situacion del GPS (1.2.2) se tiene que la entropıa de las flechases 2 − 3 log2(3)/16, mientras que la del binario correspondiente es 3 −(5 log2(5) + 3 log2(3)) /8.

La siguiente propiedad es crucial

1.2.8. Teorema. Sea (A,P) una fuente de informacion. Entonces 0 ≤ H (A,P) ≤log2 (|A|).

Aun mas,

1. H (A,P) = 0 si existe p(a) = 1 con a ∈ A y

2. H (A,P) = log2 (|A|) si la distribucion es equiprobable.

Como caso particular, muy importante, tenemos la fuente A = 0, 1 condistribucion P = p, 1− p. En este caso

H (A,P) = p log2(1

p) + (1− p) log2(

1

1− p).

Aun mas, se puede probar que H (An,P ′) = nH (A,P). En [13] y [11] setienen capıtulos completos dedicados a propiedades de la funcion de entropıa.

La naturaleza de los sımbolos suele ser sustituida por la probabilidad de queaparezcan; por eso, cuando se es mas formal, las funciones de entropıa solo tienencomo argumento la distribucion de probabilidades, como la binaria, H2(p) =H2(p, 1− p). De hecho, la entropıa es un concepto puramente probabilıstico.

1.3. Capacidad de un canal con interferencias

Sea (A,P) una fuente de informacion que se va a enviar a traves un canal, ysea S el conjunto de sımbolos de salida. Vamos a suponer que el canal es discretoy sin memoria; es decir, suponemos que los conjuntos de sımbolos A y S sonfinitos y que la transmision de un sımbolo no esta influida por la transmisionanterior.

Entendemos por “enviar informacion por un canal”, como transmisionescompletas; es decir, el envıo de un sımbolo del alfabeto de entrada implica larecepcion (completa) de un sımbolo del de salida. Formalmente:

1.3.1. Definicion.

Un canal discreto consiste en un alfabeto de entrada A, un alfabeto desalida S, ambos finitos, junto con una distribucion de probabilidades con-dicionadas p (s|a) | (a, s) ∈ A× S.

Page 14: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 13

Le llamaremos ademas sin memoria cuando se verifique que, si a = a1 · · · any s = s1 · · · sn son palabras de los alfabetos A y S, respectivamente, en-tonces p (s|a) =

∏ni=1 p (si|ai).

Transmitir un sımbolo (de entrada) a traves del canal significa asociar adicho sımbolo, aleatoriamente, un sımbolo de salida segun la distribucioncondicionada anterior.

Por su definicion, todo canal discreto, una vez ordenados los sımbolos delalfabeto, tiene asociada una matriz cuyas entradas son las probabilidades con-dicionadas. Llamaremos matriz del canal (segun cierto orden) a dicha matriz.

Al enviar informacion por un canal con interferencias ocurrira que entraraun sımbolo a ∈ A (o una palabra) y puede llegar al receptor uno (y solo uno)de los tres casos:

1. El sımbolo de salida deseado (por ejemplo el propio a) (acierto)

2. Un sımbolo no deseado (error)

3. Un sımbolo imposible de interpretar (borron o borradura, erasure).

El hecho de que exista un sımbolo de salida deseado nos llevara finalmente ala idea de perdida de informacion (por falta de fiabilidad). Intuitivamente, po-demos darnos una idea de fiabilidad por medio de la probabilidad condicionada.La existencia de probabilidad condicionada implica que se genere informacion,cuya media ponderada, como siempre, sera llamada entropıa condicionada y queveremos a continuacion.

Entropıa condicionada y conjunta

Emitir un sımbolo a ∈ A de la fuente de entrada y recibir un sımbolo s ∈ Sde salida tiene asociadas entonces las siguientes probabilidades:

1. La probabilidad, p(a), de que se envıe a ∈ A, con lo que hacemos unafuente (A,P) (ya conocemos la entropıa asociada, H (A,P)).

2. La probabilidad condicionada p(s|a), con a ∈ A y s ∈ S y al conocer ahorap(a), obtenemos la otra probabilidad condicionada p(a|s), que interpreta-remos como “la probabilidad de que habiendo recibido s ∈ S se hubieseenviado a ∈ A”.

3. La probabilidad p(s) =∑a∈A p(a)p(s|a) de que se reciba s ∈ S (luego

tambien podremos calcular su entropıa).

4. Por ultimo, la probabilidad de que se emita a, y se reciba s, que denotamosp(a ∩ s).

1.3.2. Observacion. Es sabido que, por definicion, p(a ∩ s) = p(a)p(s|a) =p(s)p(a|s).

Page 15: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 14

La situacion anterior determina tres informaciones nuevas a partir de lascuales se puede calcular entropıa. Como la relacion entre informacion y entropıaes muy clara y sencilla, vamos directamente a centrarnos en las tres nuevasentropıas.

Primera. El suceso “se recibe (o asocia) s ∈ S a algun sımbolo de en-trada” determina una nueva fuente de informacion para los sımbolo de S, quedenotamos (S,Q). Ası, obtenemos una entropıa que llamaremos H (S,Q).

La segunda es entropıa propia de la transmision a traves del canal o en-tropıa de la informacion condicionada; es decir, la incertidumbre sobre el origende cada sımbolo s ∈ S recibido o la incertidumbre sobre el sımbolo que se reci-bira al enviar un a ∈ A, que ya sabemos que coinciden.

1.3.3. Definicion. Sean A = (A,P) y S = (S,Q) fuentes de informacion (odos variables aleatorias).

1. La entropıa condicionada para un elemento s ∈ S es la media

H (A|s) =∑a∈A

p(a|s) log2

(1

p(a|s)

).

2. La entropıa condicionada es entonces

H (A|S) =∑s∈S

p(s)H (A|s) .

Analogamente se definen H(S|a) y H (S|A).

En terminos de la transmision podemos decir en palabras, que la entropıacondicionada mide la incertidumbre sobre A, una vez que se conoce S.

La tercera es la entropıa conjunta, que proviene de la probabilidad conjuntap(a ∩ s), que denotamos H (A,S) cuando las distribuciones esten fijadas. Ladefinicion es obvia pero la escribimos.

1.3.4. Definicion. Sean A = (A,P) y S = (S,Q) fuentes de informacion. Laentropıa conjunta es la media ponderada de la informacion conjunta; es decir,

H (A,S) =∑

a∈A,s∈Sp(a ∩ s) log2

(1

p(a ∩ s)

).

Las siguientes propiedades son faciles de verificar y aparecen, por ejemplo,en [13, Capıtulos 1 y 3]

1.3.5. Teorema. Sean A = (A,P) y S = (S,Q) fuentes de informacion (omas en general, variables aleatorias). Entonces:

1. H (A,S) ≤ H (A) + H (S) y la igualdad ocurre si y solo si las variablesson independientes.

2. H (A|S) = H (A,S)−H (S)

Page 16: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 15

3. H (A|S) ≤ H (A).

Ahora tenemos que llevar los conceptos anteriores a la situacion en que laprobabilidad conjunta es la incertidumbre sobre el orıgen de un sımbolo, lo cualinterpretaremos como perdida de la informacion.

Informacion mutua y capacidad

Imaginemos que tomamos la muestra a ∈ A y enviamos el sımbolo a travesdel canal. Ahora el receptor tiene un sımbolo s ∈ S. Si el suceso de recibir simplica que fue enviado a entonces el emisor y el receptor tienen la misma infor-macion. Si el receptor no esta seguro de que el sımbolo enviado fue a entonces elemisor (que tiene el sımbolo) tiene mas informacion original que el receptor. Ası,podemos interpretar la entropıa condicionada como “la informacion que se va aperder (por un problama de fiabilidad)” sobre A o como “puedes equivocarte”en la eleccion del origen de un sımbolo y por tanto fallar en el conocimiento dela informacion original.

Probabilısticamente, la informacion mutua de dos fuentes de informacion, Ay S, es la cantidad de informacion que tiene A menos la cantidad de informacionque queda de A una vez que se conoce S. Es decir, la cantidad de informacionsobre A en virtud del conocimiento de S.

1.3.6. Definicion. Sean A = (A,P) y S = (S,Q) fuentes de informacion deun canal discreto y sin memoria. La informacion mutua entre las fuentes es

I (A,S) = H (A)−H (A|S) = H (S)−H (S|A)

Vamos a ver un par de ejemplos extremos que ilustren nustra interpretacion.

1.3.7. Ejemplos.

1. Supongamos que A,S son fuentes de informacion equiprobables de uncanal donde la distribucion conjunta tambien es equiprobable (y por tantoindependiente). Por (1.2.8) y (1.3.5) se tiene que H (A|S) = H (A) quenos indica que una vez que conoces S tienes la misma incertidumbre sobreA y por tanto la informacion mutua es I (A,S) = 0 (perdimos toda lainformacion al transmitir).

2. El otro extremo. Supongamos que A = S y para todo a ∈ A se tieneque p(a|a) = 1, ası que p(a|s) = 0 si a 6= s. En este caso, la entropıacondicionada vale H (A|S) = 0 y nos indica que una vez que recibimos,digamos a = s, ya no hay incertidumbre sobre el origen, seguro que elorigen fue a y la informacion mutua es I (A,S) = H (A) (conservamostoda la informacion al transmitir).

Desde el punto de vista de la correccion de errores de transmision, dondedado un sımbolo a ∈ A tenemos un “favorito” s ∈ S, la informacion mutua dauna medida de la fiabilidad de una transmision.

Ahora vamos a definir la capacidad de un canal. Consideremos un canal consımbolos de entrada A y de salida S y todas las posibles fuentes AP = (A,P).

Page 17: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 16

Cada fuente determina otra SP = (S,QP) y con ellas se tiene una informacionmutua, que denotamos I (AP ,SP).

1.3.8. Definicion. La capacidad de un canal es el valor maximo de las infor-maciones mutuas; es decir,

C(A) = max I (AP ,S) | P es una distribucion

Desde el punto de vista de la transmision, donde tenemos “favoritos” lacapacidad de un canal sera su fiabilidad.

1.3.9. Ejemplo. Canales simetricosUn canal decimos que es simetrico (por filas y columnas) si al formar la

matriz del canal, los conjuntos de valores de las entradas de todas las filas soniguales y lo mismo ocurre con las columnas; es decir que, salvo el orden, todaslas filas tienen las mismas entradas y lo mismo ocurre con las columnas.

En este caso, se puede probar que la capacidad del canal se alcanza con ladistribucion equiprobable en A y es log2 (|A|)−H(S|a) donde el sustraendo esconstante para todo a ∈ A y p(a) = 1

|A| .

Como caso particular, vamos a calcular la capacidad del canal simetricobinario. Aquı se sigue el esquema

0 1− p -HHHH

HHHHj

p0

1 1− p-

*

p1

donde p ≤ 1/2. (Si fuese p ≥ 1/2, hacemos que al recibir se cambie el dıgito.)La distribucion condicionada se refleja en la matriz

(pij) =

(1− p pp 1− p

)que llamaremos la matriz del canal.

Entonces, como el maximo se alcanza cuando la fuente es equiprobable,tomamos A = 0, 1 = S, P = 1/2, 1/2. Luego,

H (A) =1

2log2

(1

2

)+

1

2log2

(1

2

)= 1

H (A|A) =

2∑i=1

1

2∑j=1

pij log2

(1

pij

)=

= −(1− p) log2 (1− p)− p log2 (p)

y por tanto

I (A,A) = H (A)−H (A|A) = 1 + p log2 (p) + (1− p) log2 (1− p) .

Page 18: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 17

1.4. Codigos correctores de errores

Vamos a establecer el contexto que sera nuestra hipotesis de trabajo. Te-nemos un canal discreto y sin memoria, digamos C y un conjunto (finito) desımbolos de entrada al canal (el alfabeto), A, junto con una distribucion de pro-babilidades; la de que aparezcan al enviar mensajes. A la pareja del alfabeto yla distribucion de probabilidades se le llama una fuente de entrada. Por su par-te, tenemos tambien un conjunto de sımbolos de salida, F con una distribuciondada por p(F = v) =

∑A p(v|a)p(a = A), en la notacion habitual del calculo de

probabilidades.Para cada entrada a ∈ A hemos elegido un unico sımbolo sa ∈ F, que

llamaremos el sımbolo correspondiente o deseado para a. Diremos que se haproducido un error de transmision cuando habiendo enviado el sımbolo a, elsımbolo recibido no sea sa. Supondremos que la correspondencia es biyectiva.

Vamos a hacer algunos calculos suponiendo que la correspondencia nateriores biyectiva.

1. La probabilidad de cometer un error habiendo enviado el sımbolo a ∈ Aa traves de C, es

pe,C(a) =∑s∈S

p (s 6= sa|a) = 1− p (sa|a) . (1.4.1)

2. Entonces, la probabilidad de que se cometa un error al enviar algun sim-bolo es la media ponderada

Pe,C =∑a∈A

p(a)pe,C(a) =∑a∈A

p(a) (1− p (sa|a))

=∑a∈A

p(a)−∑a∈A

p(a|sa)p(sa) = 1−∑a∈A

p(a|sa)p(sa)

= 1−∑a∈A

p(a ∩ sa).

De la lista de igualdades anteriores uno usa la que convenga.

1.4.1. Ejemplo. Supongamos que tenemos un cuerpo finito F como conjuntode sımbolos de entrada y salida, con distribuciones equiprobables en un canalC. Si p (x|x) = 1− p entonces peC(x) = p y Pe,C = p.

Correccion de errores de transmision. Esquemas y errores de decision

El objetivo de los codigos correctores de errores es anadir informacion (re-dundancia) al mensaje para poder recuperarlo aun cuando se hayan producido(no muchos) errores durante la transmision. Como veremos, la clave esta en lamanera como agregamos la informacion; es decir, como codificamos y tambiencomo descodificamos. Es ahı donde interviene la matematica.

Vamos a ver como afectan la interferencia y la correccion a la Figura 1.1.2.

Page 19: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 18

Figura 1.4.1: Correccion de errores

emisorcanal coninterferencia receptor

codificador decodificador- 6

-

6

correccion deerrores

6

En la practica, para trabajar con codigos en bloques podemos sustituir,respetando la distribucion de probabilidades, los sımbolos de entrada y salidapor un cuerpo finito F al que seguiremos llamando alfabeto. Haremos M =Palk(A) = Fk y la codificacion sera una aplicacion C : Fk → Fn y ası, nuestrocodigo en bloques sera ImC = C ⊆ Fn.

Consideremos Fn, el conjunto de las palabras de longitud n. Un esquema dedecision es una funcion parcial de Fn a las palabras del codigo; es decir, unarelacion donde no todo elemento del dominio tiene imagen (aquellas palabras,que no sepamos como corregir, no tendran imagen). Para cada c ∈ C, definimos

Bc = v ∈ Fn | f(v) = c . (1.4.2)

Como f es aplicacion parcial entonces los Bcc∈C son disjuntos aunque tal vezno sean una particion de Fn.

Considerese, pues, un esquema de decision f : Fn parcial−−−−−−→ C. Para unapalabra s ∈ Fn, si f(s) esta definido, entonces el esquema “decide” que lapalabra enviada fue f(s). Si f(s) no fue la palabra enviada decimos hemoscometido un error de decision.

A continuacion, vemos un grafico del proceso completo, donde denotamos

Fn C Fn la transmision a traves del canal C.

Fk codificacion−−−−−−−−→ C ⊆ Fn C Fn esquema−−−−−−→ C

decodificacion−−−−−−−−−−→ Fk

1.4.2. Observacion. Ya cuando estemos concentrados en los codigos, a estoserrores los llamaremos errores de decodificacion. La razon es que se considera ladecision o correccion como parte de la decodificacion.

Vamos a calcular la probabilidad de cometer un error de decision al “corre-gir” errores. Una vez fijado un codigo, C, tendremos que calcular la probabilidad

Page 20: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 19

de que una palabra c ∈ C sea enviada, y esto necesariamente determina una dis-tribucion de la fuente. Notese que esto no influye en la probabilidad de cometerun error una vez que se tome una palabra, pues viene dado por la Igualdad 1.4.1.Por su parte, para cada vector v ∈ Fn tendremos que calcular la probabilidadde que aparezca en una decodificacion. Se calcula como p(v) =

∑c∈C p(v|c)p(c).

Como el canal es sin memoria se tiene que, si c = c1 . . . cn y v = v1 . . . vn enton-ces p(v|c) =

∏ni=1 p(vi|ci), donde p(vi|ci) es la probabilidad condicionada de las

fuentes de entrada y salida de la Igualdad 1.4.1.Por definicion, decimos que hemos cometido un error de decision cuando

habiendo enviado la palabra c ∈ C recibimos la palabra v 6∈ Bc; luego la proba-bilidad condicionada que elegimos usar es p(v|c), y la calcularemos de diversasmaneras. Ası, para una palabra c ∈ C enviada, la probabilidad es

pe(c) =∑v 6∈Bc

p(v|c) =

(1−

∑b∈Bc

p(b|c)

)

y la probabilidad total de error de decision es, en vista de que∑c∈C p(c) = 1

Pe(C) =∑c∈C

p(c)pe(c) =∑c∈C

p(c)

∑v 6∈Bc

p(v|c)

= 1−

∑c∈C

∑b∈Bc

p(c)p(b|c) = 1−∑v∈Fn

p(v ∩ f(v))

ya que, si b ∈ Bc entonces c = f(b) y ası p(c)p(b|c) = p(b ∩ f(b)). La suma secompleta a todo v ∈ Fn asumiendo que si v 6∈ ∪c∈CBc entonces p(v∩ f(v)) = 0,dado que f(v) no existe.

Para eliminar la suma doble quitamos la dependencia de que aparezca cadapalabra y tomamos el error maximo; es decir, definimos

Pmaxe (C) = max pe(c) | c ∈ C .

Claramente,Pe(C) ≤ Pmaxe (C)

Entonces, para poder calcular la probabilidad total de error de decision ne-cesitamos tres ingredientes: el primero es la distribucion p(c) | c ∈ C, el se-gundo es la distribucion p(v|c) | (c, v) ∈ C × Fn y el otro es la familia Bc.1.4.3. Ejemplos. Vamos a ver algunos esquemas de decision. Transmitimos enun canal discreto y sin memoria con sımbolos de entrada y salida F. Sea C ⊂Fn un codigo con |C| = M . Considerense los siguientes esquemas de decision

f : Fn parcial−−−−−−→ C,

1. Supongamos que para cada c ∈ C y v ∈ Fn conocemos p(c|v). Con estosdatos definimos p (C|v) = p(c|v) | c ∈ C y podemos definir f(v) ∈ Ccomo el vector tal que p (f(v)|v) = max p (C|v). Este esquema se conocecomo error mınimo en la decodificacion de probabilidad a posteriori y tienela propiedad de que minimiza el error de decision medio.

Page 21: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 1. INFORMACION Y CODIGOS 20

2. Un esquema alternativo es considerar la otra probabilidad condicionada.En este caso, para cada v ∈ Fn, definimos p (v|C) = p(v|c) | c ∈ C yf(v) como el vector tal que p (v|f(v)) = max p (v|C). Este esquema seconoce como maxima verosimilitud en la decodificacion de probabilidad aposteriori.

1.5. Teorema de Shannon

Como hemos visto en la seccion anterior, codificar implica, entre otras cosas,sumergir un codigo C en un conjunto “ambiente” Fn, tal que la longitud de suspalabras, digamos n, sea mayor o igual que la longitud original de las palabras,digamos k.

En esta situacion, es claro que el canal tiene que transmitir n sımbolos delcodigo para que podamos conocer k sımbolos de la fuente; es decir, tenemos unatasa de R = k/n-sımbolos de la fuente por cada sımbolo del codigo ya que, con-forme a la definicion usual de tasa, es el cociente del numero de sımbolos validosque vamos a producir sobre el total de sımbolos que tenemos que transmitir.

Notese que k = log|A| (|C|). Ası llegamos al concepto de tasa de transmision.

1.5.1. Definicion. La tasa de trasmision de un codigo C ⊆ An es el cocientedel numero de sımbolos que originalmente tiene una palabra sobre el numeronecesario de sımbolos para transmitirla usando dicho codigo.

R(C) =log|A| (|C|)

n

Como veremos, el teorema de Shannon nos dice que mientras mantengamosla tasa de transmision por debajo de la capacidad del canal, podemos compensarla perdida de informacion que se produce en el canal al grado de precision quedeseemos.

1.5.2. Teorema [Shannon]. Sea C un canal discreto y sin memoria, con ca-pacidad C (C) = C. Entonces, para cualquier numero R < C existe una sucesionCn de codigos q-arios, junto con sus esquemas de decision fn, que cumplen:

1. Cn es un codigo de longitud n, y |Cn| = dqRne elementos; es decir, tienetasa al menos R.

2. La probabilidad de error maxima de los esquemas fn tiende a 0 cuando ntiene a infinito; es decir,

lımn→∞

Pmaxe (Cn) = 0.

En [8, 13] y otros se comenta el recıproco de este resultado.

Page 22: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Capıtulo 2

Generalidades sobreCodigos

2.1. Conceptos basicos

Una vez que hemos fijado la intencion y el contexto del estudio de los codigoscorrectores de errores, vamos tambien a fijar un poco la notacion.

2.1.1. Definicion. Sea A un alfabeto (finito), con |A| = q, y considerese An,como siempre. Llamamos codigo q-ario en bloques de longitud n a cualquiersubconjunto no vacıo de An. Al propio An lo llamamos el conjunto ambiente.

Sea M = |C|. Decimos que C tiene parametros (n,M), o que C es un (n,M)-codigo sobre A.

A los elementos de C les llamaramos palabras del codigo.

2.1.2. Notacion. A lo largo de todo el texto, nuestros alfabetos seran siemprecuerpos finitos que denotaremos F o Fq, para q = pr, con p, r ∈ N y p primo(cuando queramos hacer enfasis en el cardinal) y entenderemos por codigo uncodigo corrector de errores definido en bloques. El conjunto ambiente sera Fn,a quien llamaremos el espacio ambiente.

2.1.3. Ejemplo. [Codigos de repeticion] Consideremos a F2 y supongamos quesolo queremos enviar los mensajes “sı” y “no”. Vamos a suponer tambien quede alguna manera sabemos que el canal comete a lo mas dos errores cada 5emisiones. Usamos entonces 5 dıgitos como sigue.

sı 7→ 00000.

no 7→ 11111.

El codigo es entonces C = 00000, 11111.

Para crear este codigo hemos hecho posiblemente lo mas antiguo que se hacepara eliminar errores, REPETIR la palabra (5 veces). Este tipo de codigos sellaman codigos de repeticion.

21

Page 23: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 22

Distancia mınima y correccion

Vamos a abordar un nuevo esquema de decision que tambien sera del tipode maxima verisimilitud. Esta nocion corresponde a la idea “mas cerca mientrasmenos errores se hayan cometido”, sin importar cuales fueron los dıgitos que secambiaron.

Vamos a formalizar un poco a este esquema de decision porque es el unicoque usaremos en el curso.

2.1.4. Definicion. Sea F un cuerpo.La distancia de Hamming entre dos vectores u, v ∈ Fn es el numero natural:

d(u, v) = |ı ∈ 1, . . . , n | u(ı) 6= v(ı)| .

La distancia mınima de un codigo, C ⊆ Fn es

d(C) = mın d(u, v) | u, v ∈ C .

La siguiente definicion es una variante util en algunos calculos, pero sobretodo lo sera cuando los codigos sean espacios vectoriales.

2.1.5. Definicion. Sea F un cuerpo. Para un vector u ∈ Fn definimos el pesode u como

ω(u) = |supp(u)| = d(0, u).

2.1.6. Proposicion. Sea C un codigo sobre un alfabeto F. Entonces la distanciade Hamming cumple los axiomas de metrica; a saber,

1. d(u, v) = 0 si y solo si u = v.

2. d(u, v) = d(v, u).

3. d(v, u) ≤ d(u, z) + d(z, v).

2.1.7. Observacion. Es facil comprobar las siguientes afirmaciones sobre ladistancia y el peso. Sean u, v ∈ Fn.

1. d(u, v) = ω(u− v).

2. ω(v) + ω(u+ v) ≥ ω(u).

3. Si F = F2; o sea, el caso binario, d(u, v) = ω(u) + ω(v)− 2ω(u ? v), donde“?” es el producto coordenada a coordenada.

4. En el caso no binario, hay contraejemplos al apartado anterior.

2.1.8. Ejemplo. El ISBN (International Standard Book Number) es un codigode 11 sımbolos; a saber, 0, 1, . . . , 9, X, y palabras de longitud 10 divididas en4 grupos de datos, que describimos a continuacion.

Todos los sımbolos, salvo posiblemente el ultimo, son numericos.

El primer grupo tiene un dıgito e indica el idioma en que esta escrito ellibro.

Page 24: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 23

El siguiente grupo tiene 2 dıgitos e indica la editorial.

El tercer grupo tiene 6 dıgitos y los asigna la propia casa editorial.

El cuarto grupo tiene un solo dıgito (numerico o X). El dıgito de control(check sum).

El dıgito de “control” es lo que nos interesa. Se calcula con la forma “com-pleta a 10”; es decir, si x1, . . . x9 son los dıgitos, hacemos

−10x10 ≡ x10 ≡9∑i=1

i · xi mod 11

porque 10 ≡ −1 mod 11. Es decir que x10 cumple que

10∑i=0

i · xi ≡ 0 mod 11.

La parte izquierda de la congruencia se llama suma de verificacion del pesadode x1 . . . , x10.

El problema aquı es que x10 = 10 es un valor posible y solo podemos escribirUN dıgito. Entonces, en ese caso hacemos x10 = X y a efectos de calculo yasabemos que numero asignar.

Por ejemplo, el codigo 0 − 19 − 859617 − 0 (los guiones se pueden ponerdonde uno quiera). El primer dıgito nos dice 0, que es ingles. Los dos siguientes19 son de Oxford University Press, el 859617 es el asignado por la Casa y∑9i=1 i · xi = 253 ≡ 0 mod 11.Vamos a ver los parametros de este codigo. El espacio ambiente es F10

11.Los dıgitos x1, . . . , x9 solo tienen restriccion en el alfabeto (no pueden ser 10o X); ası que M = 109 segun la definicion de codigo, y la distancia mınima esd(ISBN) = 2, ya que lo menos que difieren dos palabras ANTES del dıgito decontrol es 1, pero luego van a diferir en el dıgito, ası que seran al menos 2. Masadelante veremos que este codigo detecta un error pero no corrige error alguno.

Por lo pronto, vamos a comprobar que si se comete un error entonces elcodigo lo detecta. Sean x = x1 . . . x10 y supongamos que se comete un error quecambia xi0 por yi0 . Hacemos y la palabra alterada. Entonces x−y = i0(xi0−yi0).Notese que ni i0 ni xi0 − yi0 son multiplos de 11, por lo que 11 - y.

Esquema de decodificacion de la distancia de Hamming

Para determinarlo (vease la Ecuacion 1.4.2) usaremos bolas cerradas de algunradio con centro en las palabras del codigo; es decir, si c ∈ C ⊆ F y r ∈ N,

Br(c) = w ∈ Fn | d(c, w) ≤ r .

Page 25: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 24

Es importante tomar en cuenta que si construimos un esquema de decision, lasbolas (cerradas) han de ser disjuntas dos a dos. Esto pone fuertes limitacionesal radio y nos hace detenernos en su estudio.

2.1.9. Lema. Sea C un codigo en Fn con distancia mınima d y sea r ∈ N. Lasbolas Br(c) | c ∈ C son disjuntas si y solo si r ≤ bd−1

2 c = t.

Demostracion. ⇒]. Primero, sean c, c′ ∈ C tales que d(c, c′) = d. Si r > dentonces Br(c) ∩ Br(c′) 6= ∅ y hemos terminado. Entonces, podemos suponerque r < d.

Supongamos que r > t. Notese primero que si r > d−12 entonces 2r > d− 1,

ası que r + 1 > d− r, luego r ≥ d− r.Sean c = (c1, . . . , cn) y c′ = (c′1, . . . , c

′n) como antes, tales que d(c, c′) = d,

con cij 6= c′ij y los otros cik = c′ik , k 6= j, con j = 1, . . . , d. Sea v = (v1, . . . , vn)

tal que vij = cij para j = 1, . . . , r y vik = c′ik para k = r + 1, . . . , d. El resto,iguales. Entonces d(c′, v) = r y d(c, v) = d−r ≤ r, por tanto v ∈ Br(c)∩Br(c′),lo cual es imposible.⇐] Supongamos que v ∈ Br(c) ∩Br(c′), con c, c′ ∈ C. Entonces

d(c, c′) ≤ d(c, v) + d(v, c′) ≤ bd− 1

2c+ bd− 1

2c ≤ d− 1 < d,

lo cual es imposible.

Por eso, al numero t = bd−12 c se le conoce tambien como radio de empaque-

tado; es facil ver que es el maximo de los radios que hacen a las bolas disjuntasdos a dos (vease [13, 14]). Como veremos un poco mas adelante, a t tambien sele conoce como la capacidad de correccion.

2.1.10. Observacion. Entonces, para un codigo C ⊆ Fn, se tiene que si r ≤⌊d−1

2

⌋, el conjunto de bolas Br(c) | c ∈ C induce el esquema de decision

f : Fn parcial−−−−−−→ C tal que f(u) = c ⇔ d(u, c) ≤ r para c ∈ C y u ∈ Fn.

Este esquema es viable de implementar pues uno de antemano sabe, paracada v ∈ Fn, quien es su correspondiente f(v) en caso de existir y ası, porejemplo, se puede construir una tabla, aunque pueda ser gigante.

De la definicion de nuestro esquema se puede deducir con facilidad la segundaparte del siguiente resultado.

2.1.11. Teorema. Sea C un codigo y d(C) la distancia mınima. Entonces

1. C puede detectar hasta d(C)− 1 errores.

2. C puede corregir hasta bd(C)−12 c errores.

Demostracion. (1) Sea c la palabra enviada y v la palabra recibida. Si v provinede haber cometido menos de d(C)− 1 errores al transmitir c entonces d(c, v) ≤d(C)− 1 y por tanto v 6∈ C.

(2) Sea de nuevo, c la palabra enviada y v la recibida. Si se han cometido a

lo mas t = bd(C)−12 c errores entonces v ∈ Bt(c) y se corregira con exito.

Page 26: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 25

2.1.12. Definicion. Para un codigo C, se define la capacidad de correccion

como t = bd(C)−12 c.

2.1.13. Definicion. Un (n,M, d)-codigo es un codigo de longitud n, que con-tiene M palabras y tiene distancia mınima d.

2.1.14. Decodificacion por “Fuerza Bruta” en el esquema de la distan-cia de Hamming. Para decodificar bajo el esquema de la distancia de Ham-ming en un codigo sin estructura algebraica alguna, usaremos la llamada fuerzabruta. Supongamos que tenemos un (n,M, d)-codigo C y hacemos t = bd−1

2 c.

Se recibe un vector v ∈ Fn.

Se calcula m(v) = mın d(v, c) | c ∈ C.

Si m(v) ≤ t entonces, el Teorema 2.1.11 nos garantiza que existe un unicoc ∈ C tal que v ∈ Bt(c) y decidimos f(v) = c.

Si m(v) > t simplemente diremos que se ha cometido un error, pero nopodemos aplicar el esquema de decision.

Aun cuando en la practica uno puede argumentar que al recibir el vectorv ∈ Fn, no hace falta buscar en cada caso m(v) y que, de hecho, al encontrarla primera palabra, c ∈ C, tal que d(v, c) ≤ t la busqueda se puede detener, esclaro que para un codigo relativamente grande (digamos binario de longitud 30)es practicamente inviable. En el siguiente capıtulo veremos cono se aborda esteproblema con la herramienta del algebra lineal.

Errores de decision en el esquema de la distancia de Hamming

Vamos a calcular la probabilidad de cometer un error en este esquema dedecision. Sea F un cuerpo finito y C ⊆ Fn un codigo con distancia mınima

d(C) = d y capacidad de correccion t = bd(C)−12 c. Ya sabemos que si se cometen

a lo mas t errores en la transmision no habra error de decision.Vamos a calcular entonces la probabilidad de que se cometan mas de t erro-

res. Eso depende de las probabilidades de cometer errores al enviar los sımbo-los. La probabilidad de que se cometa un error al enviar un sımbolo x ∈ Fq esp(Fq \ x|x) = p. Ası que la probabilidad de que se cometan k ≤ n errores enunas posiciones especıficas de una palabra es pk(1− p)(n−k).

Sea Sk(c) = s ∈ Fn | d(c, s) = k, con k ≤ t. Entonces Bt(c) =⋃tk=0 Sk(c)

(union disjunta). Claramente |Sk(c)| =(nk

)(q − 1)k, luego

1− pe(c) = p (≤ t errores) =∑

b∈Bt(c)

p(b|c)

=

t∑k=0

|Sk(c)| pk (1− p)n−k =

t∑k=0

(n

k

)(q − 1)kpk(1− p)n−k.

Page 27: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 26

Pero esto ultimo ocurre con cada palabra; ası que la probabilidad de error(o acierto) en el codigo C es independiente de las palabras y podremos sacarlocomo factor comun. Ası,

Pe(C) =∑c∈C

p(c)pe(c)

=∑c∈C

p(c)

(1−

t∑k=0

(n

k

)(q − 1)kpk(1− p)n−k

)

=

(∑c∈C

p(c)

)(1−

t∑k=0

(n

k

)pk(q − 1)k(1− p)n−k

)

= 1−t∑

k=0

(n

k

)pk(q − 1)k(1− p)n−k.

2.1.15. Ejemplo. Consideremos el codigo binario de repeticion, de longitud 3.

C =

000

111.

En este caso, la distancia mınima es d(C) = 3 y t = 1; luego las bolasson B1(000) = 000, 100, 010, 001, B1(111) = 111, 011, 101, 110. Notese queB1(000) ∪B1(111) = F3.

Aun mas, segun lo visto en el capıtulo anterior, si la probabilidad asociadaa C es uniforme, Pe(C) = 1−

∑1k=0

(3k

)pk (1− p)n−k = 3p2 − 2p3

2.1.16. Ejemplo. Volvamos al ejemplo en (1.1.3) del GPS. En ese caso, habıamosdefinido el codigo

C1 =

↑ 7→ 00↓ 7→ 11→ 7→ 10← 7→ 01

C1 es un (2, 4, 1)-codigo binario y no detecta ni corrige error alguno.Ahora vamos a agregar redundancia

C2 =

↑ 7→ 00|0↓ 7→ 11|0→ 7→ 10|1← 7→ 01|1

C2 es un (3, 4, 2)-codigo binario y detecta 1 error, pero no puede corregir.Un codigo que solo detecta un error se llama codigo detector de un error.

Mientras mas redundancia agregamos, mejor para la correccion y peor parala tasa de trasmision. Si agregamos dos dıgitos mas,

C3 =

↑ 7→ 00|000↓ 7→ 11|011→ 7→ 10|110← 7→ 01|101

Page 28: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 27

C3 es un (5, 4, 3)-codigo binario que corrige un error y detecta 2, pero NO ALA VEZ. Por ejemplo, si recibimos la palabra 00001. Tenemos dos posibilidades:

1. Si asumimos que solo se puede cometer un error, entonces corregimos00001 7→ 00000.

2. Si asumimos que se puede cometer mas de un error entonces 00001 pue-de provenir de 01101 con dos errores o de 00000 con un error. Entoncesdetectamos pero no corregimos.

Las bolas que determina C3 que tiene t = 1, son

B1(00000) = 00000, 10000, 01000, 00100, 00010, 00001.B1(11011) = 11011, 01011, 10011, 11111, 11001, 11010.B1(10110) = 10110, 00110, 11110, 10010, 10100, 10111.B1(01101) = 01101, 11101, 00101, 01001, 01111, 01100.

Fuera quedan 11000, 00011, 01110, 10101, 11100, 00111, 01010, 10001.Se deja como ejercicio calcular Pe (C3).

2.1.17. Observacion. Normalmente tenemos que decidir si un codigo es de-tector o corrector, aunque los codigos detectores no los estudiaremos aparte.

2.1.18. Ejemplo. El codigo del ISBN (2.1.8), como vimos, tien distancia mıni-ma d(ISBN) = 2, entonces detecta un error y no corrige ninguno.

2.1.19. Ejemplo. Todo codigo q-ario de longitud n, de repeticion, es un (n, q, n)-codigo.

Codigos perfectos y radio de recubrimiento

Los codigos perfectos son aquellos para los cuales el esquema de decisioninducido por las bolas cerradas tiene una aplicacion o funcion (en el sentidohabitual) en vez de una funcion parcial. En [8] se llama codigo de decodificacionunica a aquellos que verifican que su esquema es una aplicacion.

2.1.20. Definicion. Un codigo C sobre un alfabeto F se llama perfecto si ladistancia mınima es de la forma d = 2t+ 1 y

Fn =⋃x∈C

Bt(x)

es decir, si Fn es union de las bolas de radio d−12 ∈ N y centro en las palabras.

Vamos ahora a dar un criterio meramente aritmetico para determinar cuandoun codigo es perfecto.

2.1.21. Lema. Sea Fq un cuerpo finito. En Fnq , una bola de radio r y centroen un punto v tiene exactamente

|Br(v)| =r∑j=0

(n

j

)(q − 1)

j

elementos.

Page 29: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 28

Demostracion. Ya hemos visto que para Sj(c) = s ∈ Fn | d(c, s) = j se tieneque |Sj(c)| =

(nj

)(q−1)j . El resultado se deduce entonces de la igualdad Bt(c) =⋃t

j=0 Sj(c) (union disjunta).

Ahora caracterizaremos a los codigos perfectos.

2.1.22. Teorema. Un (n,M, d)-codigo q-ario es perfecto si y solo si

M ·t∑

j=0

(n

j

)(q − 1)j = qn, con t =

⌊d− 1

2

⌋.

Demostracion. Por hipotesis, las bolas son disjuntas, ası que∣∣∣∣∣ ⋃u∈C

Bt(u)

∣∣∣∣∣ = M · |Bt(x)| = M ·t∑

j=0

(n

j

)(q − 1)j

donde hemos fijado un x ∈ C cualquiera. De aquı, es inmediato el resultado.

2.1.23. Ejemplo. Para cualquier (5,M, 3)-codigo binario se tiene entonces queM(1 + 5) ≤ 25, luego M ≤ 5.

2.1.24. Ejemplos. Algunos codigos perfectos.

1. Todo codigo binario de repeticion de longitud impar es perfecto (vease2.1.15).

Efectivamente. Por la formula del binomio y el hecho de que

n∑k=n+1

2

(n

k

)=

n−12∑

k=0

(n

n− k

)

se tiene

2n = (1 + 1)n =

n∑j=0

(n

j

)=

n−12∑j=0

(n

j

)+

n∑k=n+1

2

(n

k

)

=

n−12∑j=0

[(n

j

)+

(n

n− j

)]=

n−12∑j=0

2 ·(n

j

)= M

t∑j=0

(n

j

)(2− 1)j

2. El codigo total.

3. Los codigos binarios de longitud impar de la formac, 1 + c

.

Pero estos codigos son triviales. Un problema muy interesante es encontrarTODOS los codigos perfectos. Trataremos este problema mas adelante. Por lopronto solo mencionar que hay familias importantes de codigos perfectos comolos codigos de Hamming.

Page 30: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 29

Cuando un codigo no es perfecto, nos interesa saber cuanto dista de serlo.Para ello usamos el siguiente concepto.

2.1.25. Definicion. Sea C un (n,M, d)-codigo sobre F. El radio de recubri-miento de C es

ρ(C) = mın

r ∈ N | Fn =

⋃c∈C

Br(c)

.

Es decir, el menor natural tal que la familia de bolas con dicho numero cubreel espacio ambiente.

2.1.26. Observacion. Equivalentemente se puede ver que

ρ(C) = maxv∈Fn

(mınc∈C

(d(v, c))

).

2.1.27. Definicion. Sea C un (n,M, d)-codigo sobre F, con radio de empa-quetamiento (o capacidad de correccion) t. Decimos que C es cuasi perfecto siρ(C) = t+ 1.

2.1.28. Ejemplo. El codigo C3 de (2.1.16) verifica bd−12 c = 1 y ρ (C3) = 2.

Luego, C3 es quasi perfecto.

2.2. Equivalencia y automorfismos de codigos

La definicion tradicional de equivalencia de codigos es la siguiente (veanse,por ejemplo [8, 9, 13]).

2.2.1. Definicion. Dos codigos C y D, q-arios decimos que son equivalentessi se puede obtener uno del otro a traves de una combinacion de operaciones delos siguientes tipos:

1. Permutacion de las posiciones.

2. Permutacion de los sımbolos de una posicion fija.

Como aplicacion, un resultado muy util a la hora de hacer calculos.

2.2.2. Lema. Todo (n,M, d)-codigo sobre F es equivalente a un (n,M, d)-codi-go sobre F, que contiene al vector 0 ∈ Fn.

Demostracion. Inmediato del hecho de que las traslaciones son isometrıas.

A su vez, cada codigo tiene asociado su grupo de automorfismos o autoequi-valencias.

2.2.3. Definicion. Sea F un cuerpo finito y C ⊆ Fn un codigo. El grupo deautomorfismos de C es

Aut(C) = x ∈ Isomn(F) | Cx = C .

Page 31: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 30

De especial interes es el grupo de aquellos automorfismos que solo hacenpermutar a las coordenadas;

2.2.4. Definicion. Dos codigos C,D ⊂ Fn, decimos que son permutacion equi-valentes si existe una permutacion σ ∈ Sn, tal que Cσ = D.

2.2.5. Definicion. Sea F un cuerpo finito y C ⊆ Fn un codigo. El grupo deautomorfismos de permutacion es

PAut(C) = x ∈ Sn | Cx = C .

2.3. Construccion de codigos a partir de otros

Codigos pinchados

2.3.1. Definicion. Decimos que pinchamos un codigo C ⊂ Fnq , cuando elimi-namos una coordenada fija en todas las palabras; es decir, proyectamos sobre lasotras.

Una pregunta importante desde el punto de vista de la teorıa de codigoses que ocurre con los parametros. Es decir, si tenemos un (n,M, d)-codigo ydenotamos con C?i al codigo pinchado en la i-esima corrdenada ¿podemos dardirectamente los nuevos parametros?

2.3.2. Proposicion. Sea C un (n,M, d)-codigo sobre Fq y sea C?i el codigopinchado en la i-esima coordenada. Si d > 1 entonces C?i es un (n− 1,M, d?i )-codigo, donde

d?i =

d− 1 si existen u, v ∈ C, con d(u, v) = d y u(i) 6= v(i)

d otro caso.

Demostracion. Si |C?i | < M = |C| entonces tendran que existir u, v ∈ C conu 6= v, pero v? = u? lo cual implica que d(u, v) = 1. Imposible. Luego, |C?i | = M .El calculo de d?i es inmediato.

Para los siguientes resultados, necesitamos el concepto de subgrupo de per-mutaciones transitivo.

2.3.3. Definicion. Decimos que un subgrupo H ≤ Sn es transitivo si actuatransitivamente en 1, . . . , n; es decir, para cualesquier 1 ≤ i, j ≤ n, existeσ ∈ H tal que σ(i) = j (es decir, solo hay una orbita).

2.3.4. Proposicion. Sea C un (n,M, d)-codigo. Si PAut(C) es transitivo en-tonces los n codigos obtenidos de pinchar C en cada coordenada son permutacionequivalentes.

Demostracion. Vamos a ver que C?1 es equivalente a C?j para j = 2, . . . , n. Seaa ∈ C tal que a = (a1, . . . , aj , . . . , an) y sea σ ∈ PAut(C) la permutacion talque σ(1) = j. Hacemos b = aσ, y sea b = (aj , b2, . . . , bj−1, a1, bj+1, . . . , bn),donde los bi tienen los valores obvios. Es claro que el vector pinchado b?j =(aj , b2, . . . , bj−1, bj+1, . . . , bn) y que existe una permutacion τ ∈ Sn−1 tal que

Page 32: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 31

b?jτ = (a2, . . . , aj , . . . , an) = a?1. Ası, (aσ)?jτ = a?1, pero aσ ∈ C, y ası se tieneque C?j τ = C?1 .

2.3.5. Ejemplo. Sea C = 00000, 11000, 00111, 11111. Se puede construir C?1y C?5 , y comprobar que no son equivalentes.

Codigos extendidos

Esencialmente, extender codigos es agregar informacion, digamos en dos pa-sos. Hay muchas maneras (lineales) de hacerlo; una especial, es la que se llama“agragar el dıgito de control” (de paridad, parity check, en ingles). Se hace ası,

2.3.6. Definicion. Sea C un (n,M, d)-codigo sobre Fq. Hacemos

C =

(v1, . . . , vn, vn+1) | (v1, . . . , vn) ∈ C y

n+1∑ı=1

vı = 0

Otra vez, queremos conocer los parametros por formula.

2.3.7. Proposicion. Sea C un (n,M, d)-codigo sobre Fq. Entonces C es un[n+ 1,M, d

]-codigo, donde d = d o d+ 1.

Demostracion. Trivial.

2.3.8. Observacion. Obtener leyes para los codigos extendidos en el caso bi-nario es muy simple. Aquı, trivialmente, d = d+ 1 si d es impar y es d en casocontrario.

Concatenacion o suma directa

Es importante distinguir entre la suma directa del algebra lineal y la sumadirecta de codigos, que no coinciden.

2.3.9. Definicion. Sean C1, C2 (n1,M1, d1) y (n2,M2.d2) codigos q-arios. Laconcatenacion o suma directa es el codigo

(u | v) | u ∈ C1, v ∈ C2

El estudio de los parametros aquı es muy sencillo y el propio lector puedecompletar la seccion.

La construccion de Plotkin

2.3.10. Definicion. Sean Ci dos (n,Mi, di)-codigos q-arios, con i = 1, 2, peron fijo. Formamos un nuevo codigo que llamamos la construccion de Plotkin.

C1 ⊕ C2 = (u | u+ v) | u ∈ C1, v ∈ C2

2.3.11. Proposicion. Sean Ci dos (n,Mi, di)-codigos q-arios, con i = 1, 2.Entonces C1 ⊕ C2 es un (2n,M1M2, d)-codigo, donde d = mın 2d1, d2.

Page 33: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 2. GENERALIDADES SOBRE CODIGOS 32

Demostracion. Sean x = (u1|u1 + v1) e y = (u2|u2 + v2). Entonces

d(x, y) = d (u1, u2) + d (u1 + v1, u2 + v2) = ω (u1 − u2) +ω (u1 − u2 + v1 − v2) .

Ahora separamos en casos. Si v1 6= v2 entonces por (2.1.7),

d(x, y) ≥ ω (v1 − v2) ≥ d2

y la igualdad se alcanza para palabras v1 y v2 que tengan la distancia mınimade C2 y u1 = u2.

Si v1 = v2 entonces d(x, y) = 2d (u1, u2) ≥ 2d1 y tambien hay palabras quela alcanzan. De aquı, se tiene de inmediato.

Page 34: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Capıtulo 3

Codigos lineales

3.1. Conceptos basicos

Como hemos comentado antes, la idea subyacente de los codigos correctoresde errores es la redundancia en la informacion. En este capıtulo comentaremosla manera algebraica de controlar dicha redundancia, y de hecho, la codificaciony decodificacion. Veremos el algoritmo de la decodificacion por sındrome, elmas extendido, y dejaremos clara la importancia del estudio de los codigoslineales. No solo eso. Tambien analizaremos algunas propiedades algebraicas deesta familia de codigos y su influencia en el estudio de algunos de sus parametros.

Como viene ocurriendo, F siempre denotara un cuerpo finito. Cuando sequiera hacer enfasis en su cardinal, escribiremos Fq, donde q = |Fq|.

Por ejemplo, en el caso del codigo C1 = 00, 10, 01, 11 del GPS (1.1.3 y2.1.16) que vimos antes, lo ampliamos al codigo C2 = 000, 101, 011, 110. Esfacil ver que la regla para ampliarlo es (x, y) 7→ (x, y, x + y) en terminos delalgebra lineal; es decir, la redundancia puede obtenerse mediante aplicacioneslineales. Vamos a identificarlo. Tenemos C1 = F2

2 y hacemos f : F22 → F3

2, tal quef(x, y) = (x, y, x+ y). Claramente C1

∼= C2. Llamaremos matriz de codificaciona la matriz asociada a la codificacion (en las bases canonicas, como escalaresopuestos). Se tiene, C2 =< M(f) >, la matriz en las bases canonicas. Masadelante, llamaremos a M(f) (una) matriz generadora 1.

Ahora hacemos δ : C2∼= F2

2 → F52 tal que δ(x, y) = (x, y, x + y, x, y) y se

obtiene C3.Esta forma de agregar la redundancia manteniendo fijas la primeras coor-

denadas (y dejando intacto el codigo original) nos produce matrices del tipoM(δ) = (Ik|A)

Vamos a formalizar la situacion.

1¿Generadora o generatriz? Las opiniones estan divididas (veanse [8, 11]). Segun el diccio-nario de la RAE, generadora es “que genera”, mientras que generatriz los reserva para fısicay geometrıa. En todo caso, ambas estan en el diccionario y aunque no estuvieran cada uno lasusarıa como quisiera. Aquı diremos generadora porque matriz generatriz, todo junto, no nosgusta.

33

Page 35: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 34

3.1.1. Definicion. Sea F un cuerpo finito. Un codigo lineal, C, es un subespaciodel espacio vectorial Fn. Escribimos [n, k, d]-codigo para un codigo lineal de Fncon dimF C = k y distancia mınima d. Escribiremos solo [n, k]-codigo cuandono nos interese hacer enfasis en la distancia mınima.

3.1.2. Observacion. Un [n, k]-codigo sobre Fq tiene exactamente qk elementos.

Para la presentacion de los codigos lineales se usan dos tipos de matriz;a saber, la matriz generadora y la matriz de control (parity check matrix ).Comencemos con la matriz generadora.

3.1.3. Definicion. Sea C un [n, k]-codigo sobre F. Una matriz generadora deC es cualquiera cuyas filas formen una base para C. Se denota G(C).

Sea M una matriz de orden n × n. Denotamos M (i1, . . . , ir; j1, . . . , js) lasubmatriz de M que proviene de la interseccion de las filas i1, . . . , ir y las co-lumnas j1, . . . , js. Abreviemos, M (1, . . . , n;X) = M(−;X) y M (X; 1, . . . , n) =M(X;−)

Hemos comentado que el objetivo de los codigos correctores de errores esagregar redundancia a la informacion con el objeto de poderla recuperar auncuando se hayan producido errores. Vamos a considerar dos codificaciones. Con-siderese el conjunto de palabras F3

2 y la primera codificacion C : F32 → F5

2, dadapor (x, y, z) 7→ (x, y, z, x+ y, y + z). En este caso, es facil asignar las posicionesde redundancia. La otra codificacion es (x, y, z) 7→ (x+y, y+z, x+z, y+z, x+z)donde no se puede asignar intuitivamente las posiciones de redundancia. De ahıla siguiente definicion.

3.1.4. Definicion. Sea C un [n, k]-codigo sobre F. Un conjunto de informaciono conjunto de posiciones de informacion, es un subconjunto I ⊂ 1, . . . , n talque, dada cualquier palabra del codigo, (c1, . . . , cn) ∈ C y cualquier posicion j =1, . . . , n existe un unico conjunto de coeficientes ai,ji∈I , tal que

∑i∈I ai,jci =

cj.Es decir, que el codigo C puede obtenerse conociendo los valores de las po-

siciones I, palabra or palabra.

Por ejemplo, si se considera el codigo C = (x, y, z) | z = x+ y, entoncesI = 2, 3 es un conjunto de informacion. Vamos a comprobarlo. Sean (x, y, x+y)y (x′, y′, x′ + y′) tales que y = y′ y x+ y = x′ + y′. Claramente x = x′.

3.1.5. Definicion. Sea C un [n, k]-codigo sobre F con un conjunto de in-formacion I. Se llama conjunto de redundancia o de posiciones de control a1, . . . , n \ I.

El ejemplo mas simple es la codificacion sistematica. Decimos que un codi-go es sistematico si al agregar la redundancia hemos mantenido las primerasfilas intactas. Ası, su matriz generadora sera de la forma G(C) = M(I|A). Lasprimeras columnas tienen la informacion y las siguientes la redundancia.

Un criterio sencillo y muy util para encontrar conjuntos de informacion setiene en el siguiente toerema.

3.1.6. Teorema. Sea C un [n, k]-codigo sobre F con matriz generadora G. SiG tiene k columnas linealmente independientes entonces los ındices de dichas

Page 36: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 35

columnas forman un conjunto de informacion. (Notese que al menos seguro unohay).

Recıprocamente, si I ⊂ 1, . . . , n es un conjunto de informacion enton-ces existe una matriz generadora G tal que las columnas con ındices en I sonlinealmente independientes.

Demostracion. Supongamos primero queG es una matriz generadora y que tieneciertas columnas con ındices i1, . . . , ik, que son linealmente independientes.Considerese la submatriz de las columnas i1, . . . , ik, sea G(i1, . . . , ik). Entoncesexiste una matriz de operaciones elementales por fila E tal que la submatrizEG(i1, . . . , ik) = I. Ademas, EG es matriz generadora, tambien. Sea c ∈ Ccualquier palabra. Entonces existe a ∈ Fk tal que aEG = c. Por la forma quetiene EG es claro que cij = aj y que, para cualquier l = 1, . . . , n, cl =

∑rjlaj =∑

rjlcij .Recıprocamente, supongamos que I = i1, . . . , ik es un conjunto de infor-

macion. Sea b1, . . . , bk una base para C y sean a1, . . . , ak las proyecciones delos bj en las coordenadas de I; es decir, aj = (bj(i1), . . . , bj(ik)). Entonces lasmatrices

G =

− b1 −...

− bk −

y G′ =

− a1 −...

− ak −

son la matriz generadora y la matriz de las proyecciones a las columnas conındices en I.

Se afirma que a1, . . . , ak es linealmente independiente en Fk. Considerese unacombinacion lineal

∑rjaj = 0. Formamos v =

∑rjbj y se tiene que cualquier

componente de v, digamos, v(il) =∑rjbj(il) = 0, lo cual implica que v(i1) =

· · · = v(ik) = 0. Esto, a su vez, implica que v = 0 pues I es conjunto deinformacion y por tanto las expresiones son unicas. Ası,

∑rjbj = 0 y como los

bj forman una base se tiene que rj = 0 para todo j = 1, . . . , k.De lo anterior se tiene que rg (G′) = k y por tanto las columnas de G con

ındices en I son linelamente independientes.

Sea ahora C un [n, k]-codigo sobre F con matriz generadora G. Sabemosque si las primeras k columnas de G forman un conjunto de informacion (osea, son linealmente independientes) entonces existe una matriz de operacioneselementales exclusivamente por filas, digamos E, tal que EG = (Ik|A). Es obvioque EG tambien es matriz generadora de C. Esta forma tiene nombre propio.

3.1.7. Definicion. Sea C un [n, k]-codigo sobre F con matriz generadora G.Decimos que G esta en forma tıpica (estandar) si G = (Ik|A) para alguna matrizadecuada A.

3.1.8. Ahora consideremos la sucesion exacta 0→ Fk f−−→ Fn η−−→ Coker(f)→0. Entonces C = Im(f), el codigo nos da la sucesion 0→ C

ι−−→ Fn η−−→ Fn/C →0.

Page 37: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 36

Elıjase, por lo pronto, una base cualquiera en el espacio cociente, digamosγ. Hacemos

Hk×n = Mγε (η)t.

Sabemos que C = ker f = x ∈ Fn | Hxt = 0 y por tanto, dimF(C) =n− rg(H). Desde el punto de vista de H, ker f es la nulidad a la derecha de Hy se denota Nd(H). Tambien hay, claro, la nulidad a la izquierda. A la matrizH se la conoce como matriz de control (parity check) de C.

3.1.9. Teorema. Si G = (Ik|A)k×n es la matriz generadora en forma tıpica deun [n, k]-codigo lineal entonces H = (−At|In−k) es una matriz de control de C.

Demostracion. Basta hacer las cuentas y luego considerar dimensiones.

El siguiente resultado nos muestra que esencialmente todo codigo puedesuponerse con matriz en forma tıpica.

3.1.10. Teorema. Todo codigo lineal C es permutacion equivalente a un codigocuya matriz generadora esta en forma tıpica.

Demostracion. SeaG la matriz generadora. Por algebra lineal (metodo de Gauss-Jordan) sabemos que existen matrices invertibles (de operaciones elementales),E,F , tales que EGF = (Ik|A), donde Ik es la identidad y A alguna matrizadecuada. Tambien sabemos que podemos elegir F como solo producto de per-mutacion de los pivotes (o cualquier permutacion que pusiera en las primerascolumnas un conjunto de informacion). Entonces EG genera el mismo codigoC y por tanto CF es permutacion equivalente y tiene la matriz de la formadeseada.

3.1.11. Ejemplos.

1. El codigo binario de repeticion F2f−−→ F5

2 que vimos en (2.1.3) tiene matrizde codificacion

M(f) =

1...1

5×1

y la matriz generadora es G = (1|1111),que esta en forma tıpica.

En este caso, el conjunto de informacion es 1 y la redundancia es 6. Lamatriz de control es

H =(At|I4

)=

−1...−1

I4

=

1...1

I4

porque estamos en F2.

2. Mas adelante, veremos con detalle un tipo de codigos llamados codigos deHamming. Por lo pronto llamaremos H3 al codigo con matriz generadora

G =

I4

0 1 11 0 11 1 01 1 1

Page 38: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 37

y de control

H =

0 −1 −1 −1−1 0 −1 −1−1 −1 0 −1

I3

.

Este es un [7, 4]-codigo.

3. En el ejemplo del ISBN (2.1.8) tenemos C = F911 y agregamos la informa-

cion (dıgito de control de pesos) con la aplicacion lineal f : C → F1011 dada

por f (x1, . . . , x10) =(x1, . . . , x9,−

∑9i=1 ixi

). En este caso, la matriz

generadora es

G(ISBN) =

I9

−1...−9

.

3.2. Codigos duales u ortogonales

3.2.1. Sea F un cuerpo finito y C ≤ Fn un subespacio. Sabemos que

dimC⊥ + dimC = n.

3.2.2. Definicion. Sea C un codigo lineal con matriz de control H = H(C).El codigo dual de C que denotamos C⊥ es justo el generado por H.

Claramente,

C⊥ =x ∈ Fnq | xGt = 0

= Ni

(Gt)

= Nd (G)

y C⊥ es un [n, n − k]-codigo lineal si C es un [n, k]-codigo lineal. Aun mas,se puede probar facilmente que en la situacion de la definicion anterior, H =G(C⊥), la matriz generadora de C⊥.

3.2.3. Definicion. Un codigo lineal C se llama auto ortogonal si C ≤ C⊥ y sellama auto dual si la igualdad se verifica; es decir, C = C⊥

Es claro que para ser auto dual es necesario tener dimension n/2 ∈ N.

3.2.4. Ejemplos.

1. Considerese el codigoH3 en (3.1.11). Se puede probar haciendo las cuentas

que el codigo extendido H3 es auto dual porque la matriz generadora esnilpotente de ındice 2 y tiene rango 4.

2. El [4, 2]-codigo ternario llamado tetracodigo tiene matriz

G =

(1 0 1 10 1 1 −1

).

Trivialmente, es auto dual.

Page 39: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 38

3.2.5. Teorema. Sea C un codigo lineal. Si I y R son las posiciones (ındices)de informacion y redundancia para C entonces R y I los son, respectivamente,para C⊥.

Demostracion. Si R = ∅ el caso es trivial. Supongamos que |I| = k < n.Sea F la permutacion tal que F (I) = 1, . . . , k y F (R) = k + 1, . . . , n.Sabemos que existe un matriz E, producto de elementales tal que EGF =(Ik|A). Hacemos H = (−At|I)F−1. En este caso, puede elegirse como conjuntode informacion de H, I(H) = F−1 k + 1, . . . , n = R y el de redundanciaR(H) = F−1 1, . . . , k = I.

3.3. Pesos y distancias

En el capıtulo anterior (2.1.4) vimos las nociones de distancia de Hammingy distancia mınima, ademas de la nocion de peso de un vector (2.1.5). En elcaso de los codigos lineales, la nocion de peso se usa de forma equivalente alde distancia de Hamming, pues es la “distancia al 0”. Vamos a ver entonces ladefinicion de peso mınimo.

3.3.1. Definicion. Para un codigo C, se define el peso mınimo de forma obvia.

w(C) = mın w(c) | 0 6= c ∈ C

El siguiente resultado es inmediato.

3.3.2. Proposicion. Sea C un codigo lineal. Entonces ω(C) = d(C).

Peso mınimo y matriz de control

3.3.3. Teorema. Sea C un codigo lineal con matriz de control H. Para cadac ∈ C, las columnas de H correspondientes con las coordenadas no cero de cson linealmente dependientes.

Recıprocamente, si entre ciertas r columnas no nulas de H hay dependencialineal entonces existe c ∈ C tal que ω(c) = r y las r-coordenadas no cero de ctienen el mismo ındice que las r-columnas de H.

Demostracion. Inmediato de la definicion de matriz de control (3.1.8).

3.3.4. Corolario. Sea C un codigo lineal con matriz de control H. Entoncesω(C) = d si y solo si H tiene d-columnas linealmente dependientes, pero no tieneconjunto alguno que sea linealmente dependiente y con menos de d columnas.

Ası que rg(H) ≥ d − 1; es decir que n − k ≥ d − 1 y de aquı se tiene quen − d + 1 ≥ k. Se puede probar algo mucho mas fuerte; a saber, que cualquiereleccion de al menos n − d + 1 columnas de la matriz generadora G, tiene unconjunto de informacion; o sea, tiene k-columnas linealmente independientes.

Page 40: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 39

3.3.5. Teorema. Sea C un [n, k, d]-codigo lineal con matriz generadora G.Entonces, todo conjunto de (n− d+ 1)-columnas de G contiene un conjunto deinformacion (o sea, k-columnas linealmente independientes).

Aun mas, d es el mayor numero con esta propiedad.

Demostracion. Consideremos cualquier eleccion de columnas de G, digamosi1, . . . , is y llamemos A a la matriz resultante de dicha eleccion. Queremos verque, si s ≥ n − d + 1 entonces rg(A) ≥ k; o por contrapositiva, si rg(A) < kentonces s ≤ n− d.

Supongamos que rg(A) < k. Como A tiene k-filas entonces rg(A) es menorque el numero de filas de A, ası que existe r ∈ Fk tal que rA = 0. Considereseahora r · G = (r1, . . . , rn), donde al ser rA = 0, cada rij = 0, con j = 1, . . . , s.Obviamente, rG ∈ C, y ademas, ω (rG) ≤ n− s. Ası que d ≤ n− s y por tantos ≤ n− d.

Distribucion de peso o espectro de peso

3.3.6. Definicion. Sea C un codigo y sea

Ar(C) = |x ∈ C | ω(x) = r| .

A la lista A1, A2, . . . se le llama la distribucion de peso de C.

3.3.7. Ejemplo. Considerese el codigo binario con matriz generadora 1 1 0 0 0 00 1 1 0 0 01 1 1 1 1 1

.

El calculo de la distribucion de pesos se deja como ejercicio.Otro ejemplo que se puede comprobar facilmente es el calculo en un codigo

de repeticion.

Vamos a ver algunas propiedades basicas.

3.3.8. Teorema. Sea C un [n, k, d]-codigo lineal sobre Fq. Entonces:

1.∑ni=0Ai(C) = qk.

2. A0(C) = 1 y A1(C) = · · · = Ad−1(C) = 0, si d > 1.

3. Si C es binario y (1, . . . , 1) ∈ C entonces Ai(C) = An−i(C), para todo i.

4. Si C es binario y auto ortogonal entonces toda palabra tiene peso par yC⊥ tiene al (1, . . . , 1) (porque anula a todo C).

5. Si C es codigo ternario y auto ortogonal entonces el peso de cada palabraes divisible por 3.

Page 41: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 40

Demostracion. Sea 1 = (1, . . . , 1). (1) y (2) son inmediatos. (3) Inmediato delhecho de que para todo v ∈ Fn2 , ω

(1− v

)= n− ω(v).

(4) En el caso binario, uu = 0 implica que u tiene peso par. Ahora, si unvector tiene peso par, entonces 1 · v = 0, luego 1 · C = 0 y por tanto 1 ∈ C⊥.

(5) Es obvio.

En vista de los resultados anteriores nos preguntamos por el subcodigo delas palabras de peso par.

3.3.9. Teorema. Sea C, un [n, k]-codigo binario. Sea Ce el conjunto de todaslas palabras de peso par (en sentido llano). Entonces

1. Ce es un subcodigo lineal (subespacio) de C.

2. dimF2(C/Ce) ≤ 1.

Demostracion. (1) Es obvio. (2) Sea e1, . . . , en la base canonica. Entoncesei − e1 ∈ Ce, luego ei ∈ e1 + Ce. De aquı es inmediato.

Vamos a ver una generalizacion muy interesante de la nocion de palabra pare impar.

3.3.10. Definicion. Decimos que un vector v ∈ Fnq es de tipo par (even-like)si∑ni=1 v(i) = 0. En caso contrario decimos que es de tipo impar.

En el caso binario, tipo par es equivalente a par, pero no en general, claro.

3.3.11. Definicion. Decimos que un codigo lineal es de tipo par si cada palabralo es. En caso contrario, decimos que es de tipo impar.

3.3.12. Observacion. Un codigo de tipo impar puede tener palabras de tipopar.

3.3.13. Teorema. Sea C un [n, k, d]-codigo sobre Fq. Sea Ce el conjunto depalabras tipo par en C. Entonces Ce es subespacio de C y dimFq (C/Ce) ≤ 1.

Demostracion. La primera parte es trivial. Para la segunda parte, supongamosque existen u, v ∈ C tales que no son pares. Supongamos que u = (u1, . . . , un)y v = (v1, . . . , vn). Hacemos r =

∑vi/∑ui. Entonces

∑vi − r

∑ui = 0, ası

que v − ru ∈ Ce. De aquı es inmediato.

3.4. Codificacion y decodificacion en codigoslineales

Ya hemos comentado que para hacer la codificacion en codigos lineales usa-mos una aplicacion lineal que tiene que ser inyectiva (1.1.1); luego el espacio delas palabras de longitud k verifica Fk ∼= C. En cuanto a la decodificacion, en loscapıtulos anteriores hemos visto en total cuatro distintos esquemas de decision.Dos esquemas de decision en (1.4.3) y otros dos que provienen de la distanciamınima; a saber, el “esquema de la fuerza bruta” y el considerado en (2.1.10).A partir de ahora, solo trabajaremos con este ultimo, al que hemos llamado

Page 42: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 41

esquema de decision de la distancia de Hamming. Despues de la experiencia conla decodificacion por “fuerza bruta” (2.1.14) esperamos de los codigos linealesque nos den por fin la capacidad real de llevarla a cabo. Esperamos mucho deellos si tomamos en cuenta que en la decodificacion hemos incluido la correccionde errores, lo mas costoso.

Correccion de errores

Vamos a desarrollar un algoritmo para la funcion parcial basado en la es-tructura de espacio vectorial de los codigos lineales. Comenzamos estableciendola situacion.

3.4.1. Tenemos un [n, k]-codigo C ≤ Fn, con matriz de control H y capacidadde correccion t. Hay una palabra enviada c ∈ C, un vector recibido v ∈ F y unvector “error”, que denotaremos e = v − c.

El vector error e contiene la informacion de los errores de transmision que secometieron ası como de las posiciones donde ocurrieron. Ademas, el peso ω(e)nos indica el numero de errores en la transmision. En principio, todo vectorpuede ser visto como un vector error de cualquier palabra, pero nosotros tenemospor hipotesis limitado el numero de errores que se van a cometer, luego, se puededecir que hay muchos vectores en Fn y en C, pero hay pocos vectores error masprobables; es decir, aquellos con peso menor que la capacidad de correccion.Uno por cada combinacion de errores y posiciones admisibles.

Los vectores error tienen, en vista de su definicion, su mejor representacioncomo elementos de clases de equivalencia e ∈ v + C y poseen, en ese sentido,una propiedad notable; a saber, Hv = He

3.4.2. Definicion. Sea C ≤ Fn un codigo lineal con matriz de control H.Para un vector v ∈ Fn, su sındrome es el vector Hv ∈ Fn/C (abusando de lanotacion).

¿Como se distribuyen los vectores error mas probables en las clases de equi-valencia? El siguiente resultado nos da la respuesta.

3.4.3. Proposicion. Sea C ≤ Fn un codigo lineal con capacidad de correcciont y sea e ∈ Fn tal que ω(e) ≤ t. Entonces e tiene peso mınimo en e + C y esunico con la propiedad.

Demostracion. Supongamos que hay otro u = e+c distinto, i.e. c 6= 0, y verificaω(u) ≤ t. Entonces, por la desigualdad triangular y la definicion de capacidadde correccion

ω(c) = ω(u− e) ≤ ω(u) + ω(e) ≤ 2t ≤ d(C)− 1

lo cual es imposible. Luego e ∈ e+ C es unico.

Ası que ya sabemos como estan distribuidos los vectores error (mas proba-bles). Uno por clase.

3.4.4. Definicion. Sea C ≤ Fn un codigo lineal. Un vector de peso mınimo enuna clase lateral v + C se llama lıder de la clase lateral.

Page 43: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 42

3.4.5. Observaciones.

1. Lo que nos dice la proposicion anterior es que los lıderes de peso menorque t son unicos.

2. Cuando la condicion del peso falla, los lıderes pueden no ser unicos.

3.4.6. Ejemplo. Volvamos al ejemplo del GPS extendido (2.1.16) , con C3 =00000, 11011, 10110, 01101. Tenemos dimF2 C3 = 2, luego dimF2 F5/C3 = 3;ası que hay 23 = 8 clase de equivalencia. Vamos a listarlas.

Clase \ bola B1(00000) B1(11011) B1(10110) B1(01101) lıder

Lıderes de peso menor que t

00000 00000, 11011, 10110, 01101 0000010000 10000, 01011, 00110, 11101 1000001000 01000, 10011, 11110, 00101 0100000100 00100, 11111, 10010, 01001 0010000010 00010, 11001, 10100, 01111 0001000001 00001, 11010, 10111, 01100 00001

Lıderes de peso mayor que t

11000 11000, 00011, 01110, 10101

1100000011

11100 11100, 00111, 01010, 10001

1000101010

El siguiente teorema nos dice que, cuando un vector recibido v ∈ Fn pertene-ce a una clase de equivalencia con lıder unico, digamos e, entonces v ∈ Bt(v−e)y por tanto el esquema decidira que la palabra enviada fue v − e ∈ C.

3.4.7. Teorema. Sea C ≤ Fn un codigo lineal con capacidad de correccion t yv ∈ Fn. Son equivalentes:

1. Existe c ∈ C tal que d(v, c) ≤ t.

2. Existe un unico lıder, e, tal que Hv = He y ω(e) ≤ t.

En este caso, el esquema decidira que la palabra enviada es v − e.

Demostracion. [1⇒ 2] Hacemos e = v− c. Entonces ω(e) ≤ t y por (3.4.3) seraunico.

[2⇒ 1]. Hacemos c = v − e. Entonces c ∈ C y d(v, c) = ω(e) ≤ t.

3.4.8. Por tanto, para corregir, lo que realmente necesitamos es conocer loslıderes y sus sındromes. Es decir, que formaremos la tabla completa de lıderes(si queremos corregir siempre)

Page 44: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 43

Peso menor que tPeso lıder (eij) sındrome (Heij = sij)

0 e01 = 0 0

e11 s11

1...

...e1n1

s1n1

......

...

et1 st1

t...

...etnt stnt

Peso mayor que tPeso lıder (eij) sındrome (Heij = sij)

et+1,1 st+1,1

t+ 1...

...et+1,nt+1 st+1,nt+1

......

...

e(t+p),1 s(t+p),1

t+ p...

...e(t+p),nt+p s(t+p),nt+p

donde t+ 1 < . . . < t+ p ≤ max d, n− k

Ası que, si recibimos un vector, calculamos su sındrome y habra un lıder(unico o no) cuyo sındrome sea igual al del vector.

1. Si el numero de errores no excediere la capacidad de correccion, el lıdercorrespondiente sera unico (y nos indicara los errores cometidos en lasposiciones). Ademas, se decidira la palabra enviada y corregiremos ade-cuadamente.

2. Si el numero de errores excediere la capacidad de correccion entonces,cuando los errores coincidan con un lıder, corregiremos (correctamente);si no, habremos cometido un error en la decision.

Page 45: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 44

3. Uno puede optar por hacer la tabla mas pequena y, de ocurrir que nose encuentre lıder para un vector avisar la deteccion de un error. Si laprobabilidad de error es muy baja, incluso es conveniente.

3.4.9. Ejemplos.1. Continuamos con el ejemplo en (3.4.6).

Peso lıder (eij) sındrome (Heij = sij)

0 0000 000

10000 11001000 101

1 00100 10000010 01000001 001

2 11000∗ 01110001∗ 111

(*) no unicos.

2. Sea C = 0000, 1110 binario. En este caso, hay 1 lıder de peso 0, 4 depeso 1 y 3 de peso 2. TODOS UNICOS.

3. Para C = 000000, 111000, binario, hay un lıder de peso 0, 6 de peso 1,hay 12 de peso 2, 10 de peso 3 y 3 de peso 4. TODOS UNICOS. Ası quehay lıderes unicos de peso mayor que la capacidad de correccion, de hechotiene peso igual a la distancia mınima.

3.5. Construcciones con codigos lineales

Codigos pinchados

Ya hemos visto algunos resultados generales en (2.3.2). En el caso de los codi-gos lineales podemos mejorarlo. Vamos al caso cuando d = 1. La demostraciones trivial.

3.5.1. Corolario. Sea C un [n, k, 1]-codigo sobre Fq y sea C?i el codigo pin-chado en la i-esima coordenada. Si C?i 6= 0 entonces es un [n−1, k?, d?]-codigo,donde,

1. k? = k si (0, . . . , 1i, 0 . . . , 0) 6∈ C.

2. Si k > 1, y no se cumple el apartado anterior sera un [n−1, k−1, 1]-codigo.

3.5.2. Sea C un codigo lineal sobre F. Sea C ′ el codigo pinchado en la ultimacoordenada y luego extendido (por definicion, tambien en la ultima). EntoncesC = C ′ si y solo si C es de tipo par.

Page 46: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 45

Codigos extendidos

Tambien hemos visto ya los resultados generales en (2.3.7 y 2.3.8). Es muyfacil comprobar cualquiera de los siguientes hechos.

3.5.3. Observacion.

1. Extendido de lineal es lineal. Aun mas, si C es lineal y tiene parametros

[n, k, d] entonces C tiene parametros[n+ 1, k, d

], donde d ∈ d, d+ 1.

2. Sean G,H las matrices generadora y de control de un codigo C. La exten-sion, siempre se puede interpretar

Fk ·G−−−→ Fn ·E−−−→ Fn+1

con

E =

In×n

−1...−1

y G = (gij)k×n .

Entonces

GE = G =

G

−∑j g1j

...−∑j gnj

.

Ahora, H ha de cumplir que H · Gt = 0, ası que H puede ser

H =

1 · · · 1 1

H

0...0

.

Esta es una construccion tıpica que llamaremos la matriz de control anadi-do

Vamos a mejorar el resultado que vimos en (2.3.8) en el caso de los codigoslineales.

3.5.4. Proposicion. Sea C un codigo lineal, Ce y C0, las palabras tipo par ytipo impar, respectivamente (vease 3.3.10), y de = d (Ce) y d0 = mınω(c) |c ∈ C0. Entonces

d =

de si de ≤ d0

d0 + 1 otro caso

Demostracion. Inmediata. Notese que d(C) = mın de, d0

3.5.5. Ejemplo. Para ilustrar, podemos extender el codigo H32, con matriz

G =

(1 0 1 10 1 1 −1

)y H =

(−1 −1 1 0−1 1 0 1

)y calcular los parametros.

Page 47: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 3. CODIGOS LINEALES 46

La construccion de Plotkin

Recordemos la definicion de la construccion de Plotkin en (2.3.10). Es inme-diato comprobar que cuando C1 y C2 son codigos lineales tambien C1 ⊕ C2 eslineal. Aun mas.

3.5.6. Corolario. En la situacion de (2.3.10), si C1 y C2 tienen matrices gene-radoras y de control, respectivamente, G1, G2 y H1, H2, entonces C1 ⊕C2 tienematriz generadora y de control(

G1 G1

0 G2

)y

(H1 0−H2 H2

)respectivamente.

Page 48: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Capıtulo 4

El problema principal de lateorıa de codigos.Cotas a los parametros

Conservaremos toda la notacion de los capıtulos anteriores.

4.1. Generalidades

Sea C un (n,M, d)-codigo. Para ser un buen codigo debe:

Tener palabras, lo mas corto posible. Luego n debe de ser pequeno.

Tener muchas palabras. Luego M ha de ser grande.

Corregir muchos errores. Luego d ha de ser grande.

Estos son intereses conflictivos a lo cual nos referiremos como el problemaprincipal de la teorıa de codigos.

Abordar el problema consiste en en optimizar uno de los parametros. Una delas versiones mas populares consiste en “encontrar el codigo con M mas grande(y los otros parametros fijos)”.

4.1.1. Notacion. Denotamos con Aq(n, d) el mas grande valor de M , tal queexiste un (n,M, d)-codigo q-ario.

Empezamos con los casos triviales.

4.1.2. Proposicion. Sea q = pi, con p primo.

1. Aq(n, 1) = qn.

2. Aq(n, n) = q.

47

Page 49: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 4. COTAS A LOS PARAMETROS 48

Demostracion. (1) Si u 6= v ∈ Fnq entonces d(u, v) ≥ 1. De aquı se tiene deinmediato que Fnq es un (n, qn, 1)-codigo.

(2) Supongamos que C es un (n,M, n)-codigo q-ario. Si u, v ∈ C son distintosentonces d(u, v) ≥ n, pero C ⊂ Fnq . Ası que todas las coordenadas han de serdistintas; en particular, la primera. Luego M ≤ q. Por otra parte, el codigoq-ario de repeticion alcanza la cota.

4.1.3. Ejemplo. Vamos a determinar el valor de A2(5, 3). El codigo C3 de(2.1.16) es un (5, 4, 3)-codigo binario. Luego A2(5, 3) ≥ 4. Podemos ensayar alo bestia con todos los subconjuntos de 5 elementos de F5

2 a ver si la distanciamınima de alguno es 3. El problema es que son unos 200 000 conjuntos. Vamosentonces a trabajarlo con clases de equivalencia.

Supongamos que C tiene M ≥ 4 y que 00000 ∈ C. Claramente, solo puedehaber una palabra v con 4 o 5 valores 1; ya que si hubiese dos, digamos u y ventonces d(u, v) = 2 y ya no sirve.

Como 00000 ∈ C, no hay ninguna palabra con solo uno o dos valores1; ası que al menos hay dos palabras que tienen 3 valores 1. Reordenandolas posiciones podemos suponer que las siguientes palabras viven en el codi-go 00000, 11100, 00111. Ahora, basta mirar para darse cuenta de que solopodemos agregar 11011. No hay mas posibilidades. Por tanto M ≤ 4.

Es laborioso establecer cotas y existen muchos resultados generales paraayudar en los calculos, ademas de cotas especiales.

4.1.4. Teorema. Sea d ∈ N impar. Entonces existe un (n,M, d)-codigo binariosi y solo si existe un (n+ 1,M, d+ 1)-codigo binario.

Demostracion. Por hipotesis, d es impar. Supongamos tenemos un (n,M, d)-codigo y que d = d(u, v), para algunos u, v ∈ C. Como d es impar, entonces elpeso de alguna de las dos palabras es impar y la otra par (vease 2.1.7). Ası que,en el codigo extendido, d+ 1 = d (u, v).

Recıprocamente, supongamos que tenemos un codigo con parametros (n +1,M, d+ 1) para un numero impar d. Otra vez escojemos u, v tales que d+ 1 =d(u, v). Consideramos una entrada fija i ∈ 1, . . . , n tal que u(i) 6= v(i) ypinchamos el codigo en esa entrada. Como d + 1 es par, las palabras varıan almenos en dos posiciones y por tanto no se pierde ninguna palabra. Ası que nosqueda el codigo pinchado de parametros (n,M, d).

4.1.5. Corolario. Si d es impar entonces

A2(n+ 1, d+ 1) = A2(n, d).

4.1.6. Ejemplo. Sabemos por (4.1.3) que A2(5, 3) = 4. Por el corolario ante-rior, A2(6, 4) = 4.

En el caso q-ario se tiene la siguiente relacion.

4.1.7. Teorema. Para n ≥ 2, se tiene

Aq(n, d) ≤ qAq(n− 1, d).

Page 50: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 4. COTAS A LOS PARAMETROS 49

Demostracion. Sea C un codigo tal que M = Aq(n, d). Considerese la pri-mera posicion y para cada k ∈ F definimos Dk = u ∈ C | u(1) = k. Co-mo

⋃k∈FDk = C entonces debe ocurrir que algun |Dk| ≥ M

q . Si pincha-mos en la primera coordenada, es claro que todo Dk va a sobrevivir. Luego

Aq(n− 1, d) ≥M?1 ≥ M

q =Aq(n,d)

q

Ahora vamos a ver algunas cotas especiales.

4.2. Cota de Hamming

Esta cota viene a completar el estudio de los codigos perfectos. Lo que hemosvisto en (2.1.21 y 2.1.22) nos indica facilmente la demostracion del siguienteresultado, que se conoce como cota de Hamming o del empaquetado esferico.

4.2.1. Teorema.

Aq(n, d) ≤ qn∑tj=0

(nj

)(q − 1)

jcon t = bd− 1

2c.

Entonces, un codigo perfecto es aquel que alcanza la cota de Hamming.

4.3. Cota de Singleton y codigos MDS

Esta cota es sencilla pero muy util y da lugar a los codigos de Reed Solomon,que veremos despues, y que se usan para la reproduccion de los CD.

4.3.1. Teorema. Para d ≤ n se tiene que

Aq(n, d) ≤ qn−d+1.

Demostracion. Trivialmente, Aq(n, n) = q = qn−n+1 y vamos a hacer descenso.Sea d < n.

Aq(n, d) ≤ qAq(n− 1, d) ≤ · · · ≤ qn−dAq(d, d) = qn−d(q) = qn−d+1.

4.3.2. Observacion. En particular, para un [n, k, d]-codigo lineal q-ario, k ≤n− d+ 1.

4.3.3. Definicion. Un codigo que verifica la igualdad en el teorema anterior seconoce como codigo separable de distancia maxima (maximum distance separableMDS).

La primera propiedad es obvia, aunque muy importante.

4.3.4. Proposicion. Los codigos MDS son cerrados para isometrıas.

Luego un (n,M, d)-codigo MDS verifica que M = Aq(n, d). Ahora veremosalgunas propiedades interesantes de los codigos MDS lineales.

Page 51: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 4. COTAS A LOS PARAMETROS 50

4.3.5. Teorema. Sea C un [n, k]-codigo lineal sobre Fq, con k ≥ 1. Entonces,las siguientes condiciones son equivalentes.

1. C es MDS.

2. Todo conjunto de k-posiciones es un conjunto de informacion para C.

3. C⊥ es MDS.

4. Todo conjunto de (n − k)-posiciones es un conjunto de informacion paraC⊥.

Demostracion. [1⇒ 2] Aplicando (3.3.5 y 3.1.6) se tiene de inmediato del hechode que k = n− d+ 1, por hipotesis.

[2⇒ 1] Supongamos que k < n− d+ 1. Entonces k ≥ n− (d+ 1) + 1 y porhipotesis se contradice la maximalidad de d en (3.3.5).

[2⇔ 4] Inmediato de (3.2.5).[3⇔ 4] Es de nuevo consecuencia directa de (3.3.5).

4.3.6. Corolario. Sea C un [n, k]-codigo con matriz generadora G. EntoncesC es codigo MDS si y solo si cualesquiera k columnas de G son linealmenteindependientes.

Demostracion. Inmediata.

4.4. Otras cotas

Existen otras cotas relevantes, como la cota de Plotkin o la cota de la Pro-gramacion lineal. Las limitaciones del curso no nos permiten verlas pero vamosa enunciar los resultados.

4.4.1. Teorema [Cota de Plotkin]. Sea C un (n,M, d)-codigo sobre Fq, don-de q−1

q n < d. Hacemos r = q−1q . Entonces

1. M ≤ dd−rn o b d

d−rnc.

2. Si q = 2, M ≤ 2b d2d−nc.

4.4.2. Teorema [Cota de la programacion lineal]. Las siguientes cotasocurren.

1. Cuando q ≥ 2 se tiene que

Aq(n, d) ≤ max

n∑

w=0

Bw

donde el maximo esta tomado de los Bw que satisfacen:

a) B0 = 1 y Bw = 0 para 1 ≤ w ≤ d− 1.

Page 52: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 4. COTAS A LOS PARAMETROS 51

b) Bw ≥ 0, para d ≤ w ≤ n y

c)∑nw=0BwK

n,qk (w) ≥ 0 para todo 1 ≤ k ≤ n.

2. Cuando d es par y q = 2,

A2(n, d) ≤ max

n∑

w=0

Bw

donde el maximo esta tomado de los Bw que satisfacen:

a) B0 = 1 y Bw = 0 para 1 ≤ w ≤ d− 1.que sean impares.

b) Bw ≥ 0, para d ≤ w ≤ n y Bn ≤ 1, y

c)∑nw=0BwK

n,2k (w) ≥ 0 para todo 1 ≤ k ≤ bn/2c.

Page 53: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Capıtulo 5

Codigos clasicos que serealizan como codigoslineales

5.1. Codigos de Hamming y codigos simplex

Codigos de Hamming

La construccion de los codigos de Hamming y algunas de sus propiedadesen el caso binario las hemos visto en capıtulos anteriores. Vamos a extender ladefinicion.

Sea Fq un cuerpo finito cualquiera y consideremos Frq con r ≥ 2.Llamamos codigo de Hamming y denotamos Hq,r a todo aquel codigo cuya

matriz de control se construye de la siguiente manera. La denotamos con Hq,r.

1. Consideramos todos los distintos subespacios de dimension 1 de Frq. Sa-

bemos que hay exactamente qr−1q−1 (qr son todos, qr − 1, porque el < 0 >

tiene dimension 0, y qr−1q−1 porque los multiplos se absorben).

2. Denotamos con Hq,r al codigo que proviene de una matriz del tipo

Hq,r =

(de cada distinto subespacio tomoun vector no cero y lo pongo

).

Entonces se tiene:

1. rg (Hq,r) = r.

2. Sean v1, v2 ∈ Hq,r. Claramente, existe W ≤< v1, v2 > (la diagonal) talque dimW = 1. Sea v3 ∈ W un generador de la diagonal. Entonces v3

es combinacion lineal de los otros, pero cualesquiera dos son linealmenteindependientes, luego (3.3.4) nos dice que ω (Hq,r) = 3.

52

Page 54: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 5. CODIGOS CLASICOS LINEALES 53

Ası que Hq,r es un[qr−1q−1 ,

qr−1q−1 − r, 3

]-codigo y cualesquiera dos codigos

construidos de esta manera y con estos datos seran permutacion equivalentes.Recıprocamente si H es la matriz de control de un codigo, tal que H es de

orden r× qr−1q−1 y tal que cada dos columnas existe una tercera que es combina-

cion lineal de las dos anteriores entonces trivialmente, H tiene en sus columnasa un generador de cada uno de los distintos subespacios de dimension 1; esdecir,hemos probado que.

5.1.1. Teorema. Todo[qr−1q−1 ,

qr−1q−1 − r, 3

]-codigo lineal sobre Fq es un codigo

de Hamming.Aun mas, cualesquiera dos codigos de Hamming con los mismos parametros

son permutacion equivalentes.

Codigos simplex

Son[qr−1q−1 , r

]-codigos lineales cuyos pesos de palabras tiene propiedades no-

tables. Por ejemplo, el codigo H⊥3 solo tiene palabras de peso 4 y el tetracodigo(3.2.4), que denotamos H3,2, es auto dual, y tiene todas sus palabras de peso 3.

5.1.2. Definicion. Los codigos simplex son aquellos que se realizan como dua-les de los codigos de Hamming

En general,

5.1.3. Teorema. Las palabras no cero de un codigo simplex sobre Fq tienetodas peso qr−1.

Demostracion. El codigo ha de tener matriz generadora Hq,r de orden r ×(qr−1q−1

)y sabemos que rg (Hq,r) = r y que H⊥q,r = 〈Hq,r〉 =

xHq,r | x ∈ Frq

.

Notese que ω (xHq,r) = n− (columnas de Hq,r, digamos y, tal que xy = 0).

Sabemos que dimx⊥ = r − 1, luego tiene qr−1−1q−1 subespacios de dimension 1 y

todos ellos estan en las columnas de Hq,r. Por tanto,

ω (xHq,r) =qr − 1

q − 1− qr−1 − 1

q − 1= qr−1.

Construccion alternativa de codigos simplex binarios

Hacemos

G2 =

(0 1 11 0 1

).

Ahora, para r ≥ 3, definimos

Gr =

0 · · · 0 1 1 · · · 1

Gr−1 0 Gr−1

Page 55: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 5. CODIGOS CLASICOS LINEALES 54

Se puede comprobar por construccion, que las columnas de Gr son la expan-sion de 1, 2, . . . , 2r − 1 (en binario, claro), ası que 〈Gr〉 = Sr es H⊥r .

Ahora vamos a verificar la propiedad de los pesos. Tenemos que ver es quetodas las filas de Gr tienen peso 2r−1.

Notese que G2 tiene 22 − 1, columnas ası que, por construccion, Gr tiene2r − 1 columnas. Vamos con el argumento sobre el peso. Es claro que todaslas filas de G2 tienen peso 22−1 = 2. Supongamos que todas las filas de Gr−1

tienen peso 2r−2 (de hecho el subespacio que generan). Analizando la matriz Grun simple argumento de induccion nos muestra que cada una de sus filas tienepeso 2r−1. Vamos ahora con las combinaciones lineales. Es muy importantetomar en cuenta que no es cierto que cualquier combinacion lineal de vectoresde peso 2r−1 tiene otra vez ese peso y ademas, es obvio. La propiedad provienede la forma como esta construida la matriz. Cualquier combinacion lineal de lasegunda fila en adelante cumple obviamente la propiedad por induccion y por laconstruccion de la matriz. Ası que basta comprobar que la combinacion linealentre la primera fila y cualquier combinacion lineal de las otras tiene el pesodeseado. Pero eso es facil de comprobar.

5.2. Codigos de Golay

Los codigos de Golay fueron propuestos por M. J. E. Golay en 1949. Haybinarios y ternarios. Los binarios se denotan G24, un [24, 12, 8]-lineal y G23, un[23, 12, 7] codigo. El segundo se obtiene pinchando el primero. Los ternarios sedenotan G12 y el G11.

Codigos de Golay binarios

Se construye la matriz G24 = (I12|A12×12) donde la matriz A tiene una lacaja inferior derecha de 11× 11 y se escribe en la primera fila, en la posicion iun 1 si i es cuadrado modulo 11 y un 0 en caso contrario. Despues se hace unrecorrido (shift) en direccion (←). Ası que el bloque tiene forma cıclica.

A =

0 1 1 1 1 1 1 1 1 1 1 1

1 1 1 0 1 1 1 0 0 0 1 01 1 0 1 1 1 0 0 0 1 0 11 0 1 1 1 0 0 0 1 0 1 11 1 1 1 0 0 0 1 0 1 1 01 1 1 0 0 0 1 0 1 1 0 11 1 0 0 0 1 0 1 1 0 1 11 0 0 0 1 0 1 1 0 1 1 11 0 0 1 0 1 1 0 1 1 1 01 0 1 0 1 1 0 1 1 1 0 01 1 0 1 1 0 1 1 1 0 0 01 0 1 1 0 1 1 1 0 0 0 1

Page 56: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 5. CODIGOS CLASICOS LINEALES 55

Con esta matriz G24 genera un codigo que llamaremos codigo de Golay G24.Vamos a ver algunas de sus propiedades. Una propiedad importante es queG24G

t24 = 0, porque A es binaria, simetrica y con cada fila de peso par; luego es

nilpotente. Aun mas, lo anterior implica que (A|I) tambien es matriz generadorade G24.

Otra propiedad notable se refiere a los pesos. La fila G24(1;−) tiene peso 12;mientras que las 11 filas restantes tienen peso 8. Vamos a probar que, de hecho,el peso mınimo es 8.

5.2.1. Lema. Si C es un codigo binario auto ortogonal y tiene matriz gene-radora con cada fila con peso divisible por 4 entonces toda palabra tiene pesodivisible por 4.

Demostracion. Basta analizar la Observacion 2.1.7 (3)

5.2.2. Observacion. Vamos a probar que toda palabra de G24 tiene peso multi-plo de 4 y mayor que 4.

Toda palabra de G24 se puede escribir de la forma v = (a|b), con a, b ∈ F122 .

Ademas, si v = (a|b) es una palabra, tambien lo sera u = (b|a). Por el lemaanterior todas las palabras de G24 tienen peso multiplo de 4. Vamos a ver quees estrictamente mayor que 4. Tomemos un v = (a|b). Podemos suponer queω(a) ≤ ω(b). Hay cuatro casos.

Caso 1. Si ω(a) = 0, como G24 esta en forma tıpica, las posiciones de aforman un conjunto de informacion y por tanto b = 0, y como v = xG24, luegov = 0.

Caso 2. Si ω(a) = 1 entonces v es una fila de G24, que tiene peso mayor oigual a 8.

Caso 3. Si ω(a) = 2 entonces v es combinacion lineal de dos filas de G24, yuna comprobacion a lo bestia nos da ω(v) = 8.

Caso 4. Ahora bien, si ω(a) ≥ 3 entonces ω(b) ≥ 3, porque ω(a) ≤ ω(b), ycomo ha de ser multiplo de 4, ya es mayor o igual a 8.

Por tanto G24 es un [24, 12, 8]-codigo binario.

El codigo G23

Por (3.5.2) sabemos que si pinchamos G24 en la ultima coordenada (de he-cho en cualquiera) y extendemos (a la que pinchamos) entonces recuperamosel codigo original. Pinchando G24 obtenemos un [23, 12, 7]-codigo lineal, que lla-maremos G23.

Page 57: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 5. CODIGOS CLASICOS LINEALES 56

Codigos de Golay ternarios

El codigo de Golay ternario G12 es el [12, 6]-codigo sobre F3 con matrizG12 = (I6|A), donde

A =

0 1 1 1 1 1

1 0 1 −1 −1 11 1 0 1 −1 −11 −1 1 0 1 −11 −1 −1 1 0 11 1 −1 −1 1 0

Se puede comprobar directamente cada una de las siguientes propiedades.

5.2.3. Proposicion. Las siguientes condiciones ocurren.

1. At = A y que A2 = −I. Luego G12 es auto dual.

2. G12 es un [12, 6, 6]-codigo lineal.

3. El codigo ternario G11 que obtenemos de pinchar G12 en la ultima coorde-nada es un [11, 6, 5]-codigo lineal perfecto.

4. Si pinchamos en cualquier otra coordenada no salen codigos equivalentes.

5. Si pinchamos en cualquier coordenada y luego extendemos con el dıgito deparidad recuperamos un codigo equivalente a G12.

De hecho, incluso hay equivalencia con codigos que no sean lineales. Lademostracion del siguiente resultado excede el alcance de nuestro curso. Puedeconsultarse en [9, Theorem 95]

5.2.4. Teorema. Todo codigo de parametros (12, 36, 6)-es equivalente a G12, ytodo codigo de parametros (11, 36, 5)-es equivalente a G11

5.3. Codigos de Reed-Muller (binarios)

Los propusieron por separado (en trabajos independientes) I. S. Redd y D.E. Muller en 1954. Existe tambien la definicion de codigo de Reed-Muller sobrecuerpos con otra caracterıstica.

Su distancia mınima es muy pequena pero se decodifican muy facilmente.Hay muchas maneras de construirlos. Una de ellas se basa en la construccion dePlotkin (2.3.10).

Construccion

Elegimos un natural m ∈ N \ 0 y 0 ≤ r ≤ m.Para cada m, vamos a definir m+ 1-codigos que denotaremos

R(0,m), . . . ,R(m,m).

Page 58: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 5. CODIGOS CLASICOS LINEALES 57

Les llamaremos codigos RM de longitud 2m. Lo haremos por induccion:Primer paso: R(0,m) es el codigo de repeticion y R(m,m) = F2m

2 , el espaciocompleto.

Ahora,

R(r,m) = (u | u+ v) | u ∈ R(r,m− 1), v ∈ R(r − 1,m− 1) ,

con 1 ≤ r < m.

Por lo que sabemos de la construccion (u | u+ v), (2.3.10) la matriz sera,primero,

G(0,m) =(1 1 · · · 1

)y G(m,m) = I2m

y luego,

G(r,m) =

G(r,m− 1) G(r,m− 1)

0 G(r − 1,m− 1)

Una de las grandes ventajas de los codigos RM es que sus parametros se

calculan por formula.

5.3.1. Teorema. Sea m > 0 y 0 ≤ r ≤ m. Entonces,

1. R(i,m) ⊆ R(j,m), para 0 ≤ i ≤ j < m.

2. La dimension es

dimF2(R(r,m)) =

r∑i=0

(m

i

).

3. El peso mınimo es ω (R(r,m)) = 2m−r.

4. El ortogonal es R(m,m)⊥ = (0) y si 0 ≤ r < m entonces

R(r,m)⊥ = R (m− r − 1 , m) .

Demostracion. (1) Inmediata por induccion. Primero se prueba que R(0, 1) ≤R(1, 1), con eso se tiene que R(j,m) ≤ R(j + 1,m) y de aquı, sale.

(2) Primero, dimR(0,m) = 1 =(m0

). Ahora, notese que

dimR(m,m) = 2m =

m∑i=0

(m

i

)= (1 + 1)

m.

Por (3.5.6) sabemos que dimR(j,m) = dimR(j,m−1)+dimR(j−1,m−1).Usando esta igualdad, la hipotesis de induccion, que es

dimR(j,m− 1) =

j∑i=o

(m− 1

i

)y dimR(j − 1,m− 1) =

j−1∑i=o

(m− 1

i

)

Page 59: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 5. CODIGOS CLASICOS LINEALES 58

y las igualdades de los coeficientes binomiales(m− 1

0

)=

(m

0

)= 1 y

(m− 1

i

)+

(m− 1

i− 1

)=

(m

i

)nos dicen que

dimR(j,m) =

j∑i=o

(m

i

).

(3) Sabemos por (2.3.10) que

d (R(r,m)) = mın 2d (R(r,m− 1)) , d (R(r,m)) .

Por induccion. Sid (R(r,m− 1)) = 2m−1−r

yd (R(r − 1,m− 1)) = 2m−1−(r−1) = 2m−r

entonces2d (R(r,m− 1)) = d (R(r − 1,m− 1)) = 2m−r

y se tiene el resultado.(4) Que R(m,m)⊥ = 0 es obvio. El otro lo haremos por induccion.Como

(mi

)=(mm−i

)entonces

dimR(m− r − 1,m) =

m−r−1∑j=0

(m

j

)=

m=(m−0)∑r+1=m−(m−r−1)

(m

j

).

Luego

dimR(r,m) + dimR(m− r − 1,m) =

r∑0

(m

j

)+

m∑r+1

(m

j

)= 2m.

Por tanto, basta probar que R(m− r − 1,m) ≤ R(r,m)⊥. Sabemos que

R(m− r − 1,m) = (u|u+ v) | u ∈ R(m− r − 1,m− 1),

v ∈ R(m− r − 2,m− 1)R(r,m) = (u|u+ v) | u ∈ R(r,m− 1), v ∈ R(r − 1,m− 1) .

Sean (u|u + v) ∈ R(r,m) y (x|x + y) ∈ R(m − r − 1,m). Por hipotesis deinduccion ux = 0 = vx y por el apartado (1), v ∈ R(r,m − 1). Analogamente,uy = vy = 0 luego y ∈ R(m− r − 1,m− 1) tambien.

5.3.2. Observaciones.1. Como R(0,m) es el codigo de repeticion, R(m − 1,m) = R(0,m)⊥ es el

codigo de todos los vectores pares de F2m

2 .

2. Si m es impar, m = 2r + 1, entonces por los apartados (3) y (4), delteorema anterior se tiene que R(r,m) = R(m−1

2 ,m) es auto dual con peso

mınimo 2m−1

2 .

Page 60: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Capıtulo 6

Cuerpos finitos

6.1. Aritmetica de cuerpos finitos

Damos por conocidos los conceptos de dominio euclıdeo, dominio de facto-rizacion unica, cuerpo, extension de un cuerpo y caracterıstica de un cuerpo K,que denotamos Car(K). Tambien damos por hecho que, para cualquier cuerpoF, el anillo de polinomios F[X] es un dominio euclıdeo, donde todo ideal estagenerado por un polinomio (de grado mınimo), y si un elemento p ∈ F[X] tieneuna raız α ∈ F, entonces (X − α) | p.

Si un polinomio p ∈ F[X] es irreducible entonces el ideal que genera 〈p〉 ≤F[X] es maximal y por tanto, el cociente F[X]/〈p〉 es un cuerpo. Finalmente, siK/F es una extension y α ∈ K, recordemos que la correspondencia p(X) 7→ p(α)

es un homomorfismo de anillos, F[X]Λα−−−→ K, que llamamos el homomorfismo

de evaluacion. Recordemos que a la imagen de Λα se le denota F(α) y es elsubcuerpo de K generado por F y el elemento α.

Sabemos que todo dominio finito es un cuerpo. El siguiente resultado esmenos conocido y las demostracion es demasiado larga como para reproducirlaaquı. La omitiremos porque no influye en el desarrollo del tema.

6.1.1. Teorema [Wedderburn]. Todo anillo de division finito es un cuerpo.

Unas observaciones sobre la caracterıstica.

6.1.2. Proposicion. Sea K un cuerpo. La correspondencia ϕ : Z → K tal que

ϕ(n) = 1+(n)· · · +1 es homomorfismo de anillos.

Demostracion. Trivial,

ϕ(n ·m) = 1+(nm)· · · +1 =

(1+

(n)· · · +1

)+

(m)· · · +

(1+

(n)· · · +1

)= ϕ(n)+

(m)· · · +ϕ(n) = (factorizo) = ϕ(n)

(1+

(m)· · · +1

)= ϕ(n)ϕ(m)

59

Page 61: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 60

6.1.3. Observacion. Para todo cuerpo K, Car (K) = mın n ∈ N | ϕ(n) = 0.6.1.4. Proposicion. Sea K un cuerpo finito. Entonces Car (K) es un numeroprimo.

Demostracion. Inmediato del hecho de que Z/ kerϕ → K. (Todo dominio finitoes un cuerpo.)

6.1.5. Corolario. Si F es un cuerpo tal que |F| = p, con p primo, entoncesF ∼= Zp.

Ası que podemos hablar de “el cuerpo con p elementos”.

6.1.6. Notacion. Sea p un numero primo. Denotamos con Fp al cuerpo con pelementos.

6.1.7. Observacion. Si F es un cuerpo de caracterıstica p entonces claramenteFp → F.

6.1.8. Definicion. En la situacion anterior, a la imagen de Fp se le llama elsubcuerpo primo de F.

Mas adelante veremos que es unico.

6.1.9. Definicion. Sea K/F una extension. El grado de la extension es la di-mension que tiene K como F-espacio vectorial. Se denota [K : F].

6.1.10. Definicion. Una extension K/F decimos que es finita si el grado es unnumero natural.

Obviamente, en cuerpos finitos las extensiones han de ser finitas.

6.1.11. Teorema. Sea F un cuerpo finito. Entonces, |F| = pt, donde p =Car(F).

Demostracion. Trivial; ademas, t = dimFp(F).

6.1.12. Notacion. A partir de ahora, p se reserva para un numero primo y q,para alguna potencia del primo p.

6.1.13. Proposicion. Sea F un cuerpo con Car (F) = p. Entonces, para cua-lesquiera r, s ∈ F se tiene

(r + s)pt

= rpt

+ spt

.

Demostracion. Inmediato del binomio de Newton, pues(pt

i

)=

0 si i 6= 0, pt

1 otro caso.

en F.

Por la proposicion anterior, se tiene entonces que la correspondencia r 7→ rp

es un automorfismo.

Page 62: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 61

6.1.14. Definicion. El automorfismo r 7→ rp de Fp se conoce como el auto-morfismo de Frobenius. Se denota σp.

Mas adelante veremos que todo automorfismo de un cuerpo finito es potenciadel automorfismo de Frobenius.

6.1.15. Teorema. Para todo cuerpo F, el grupo multiplicativo F∗ = (F, ·) escıclico.

Demostracion. Suponemos que |F| = q > 3, si no, se hacen las cuentas.Sea h = q − 1 = pα1

1 · · · pαmm la descomposicion en factores primos. Recorde-mos que q − 1 = |F∗|.

Para cada 1 ≤ i ≤ m, consideremos el polinomio Xhpi − 1. Este polinomio

tiene a lo mas, hpi

-raıces en F. Como hpi< h, entonces que hay elementos en F

que no son raıces de Xhpi − 1. Sea ai uno de esos elementos.

Ahora, hacemos bi = a(h/p

αii )

i . Es claro que a(h/p

αii )

i 6= 1; ademas, bpαiii = ah =

1; luego o (bi) | pαii . Por otra parte, para cualquier 0 ≤ β < αi, a(h/p

(αi−βi)i )

i 6= 1,luego o (bi) = pαii . Hacemos b =

∏mi=1 bi. Finalmente, se puede comprobar de

forma directa que o(b) = h.

Curiosamente, se tiene entonces que para un cuerpo finito F, el grupo aditivoes elemental abeliano, mientras que el multiplicativo es cıclico.

6.1.16. Definicion. A todo generador del grupo multiplicativo F∗ se le llamaraız primitiva de Fq.6.1.17. Lema. Sea F un cuerpo con q = pt elementos. Entonces todo r ∈ Fverifica rq = r.

Demostracion. Inmediato del hecho de que el orden del grupo multiplicativo|(F, ·)| = q − 1. Por su parte, el cero trivialmente lo cumple.

6.2. Polinomios y numeros algebraicos

6.2.1. Definicion. Sea K/F una extension. Un elemento ξ ∈ K decimos que esalgebraico sobre F si existe f ∈ F[X] tal que f 6= 0, pero f(ξ) = 0.

6.2.2. Teorema [Kronecker]. Sea F un cuerpo y f ∈ F[X] un polinomio noconstante. Entonces existe una extension K/F donde f tiene una raız.

Demostracion. Sea g un factor irreducible de f . Entonces F[X]/〈g〉 = K es

un cuerpo. Claramente, la composicion F → F[X]ηg−−−→ K es homomorfismo

inyectivo de anillos con uno, donde k 7→ kX0 7→ k + 〈g〉. Hagamos α = X + 〈g〉y notemos que la evaluacion g(α) = ηg(g) = 0, por lo que α es una raız de g yen consecuencia, de f .

6.2.3. Corolario. Si f ∈ F[X] entonces existe una extension K/F donde ftiene todas sus raıces, que son, como sabemos, salvo multiplicidad, gr(f).

Page 63: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 62

Demostracion. Basta notar que se pueden ir construyendo K1 ⊂ K2 ⊂ · · · ⊂ Knextensiones con el teorema de Kronecker, con ξ1, . . . ξn, las raıces construidasen dicho resultado. El proceso se detiene cuando se llega, digamos, a Kn (conn ≤ gr(f)), el primero que tiene todas las raıces. La factorizacion del polinomiopor las raıces hace el resto.

En la situacion anterior, si gr(f) = n, se tiene que Kn = F (ξ1, . . . , ξn).

6.2.4. Definicion. Sea K|F una extension, ξ ∈ K. Si ocurre que K = F(ξ)entonces decimos que ξ es un elemento primitivo de K6.2.5. Ejemplo. Hacemos F = Z2, f = X2 +X + 1. Sea ξ tal que ξ2 + ξ+ 1 =0. Entonces ξ3 = 1. F4 = F(ξ) =

a+ bξ | ξ2 + ξ + 1 = 0 ; a, b ∈ F

es una

extension de Z2 de cuatro elementos. Podemos hacer las tablas de sumar ymultiplicar.

6.2.6. Definicion. Sea F un cuerpo y f ∈ F[X]. Un cuerpo de descomposicionde f sobre F es aquel generado por F y todas las raıces de f .

6.2.7. Teorema. Sea K/F una extension y ξ ∈ K, algebraico sobre F. Entoncesexiste un polinomio mξ = mξ(X) = Irr(ξ,K) tal que:

1. mξ tiene grado mınimo con la propiedad mξ(ξ) = 0.

2. Si f(ξ) = 0 entonces mξ | f .

3. mξ puede elegirse monico.

4. mξ es irreducible.

Demostracion. Se considera Iξ = g ∈ F[X] | g(ξ) = 0. Como F[X] es un DIP,

se tiene que Iξ es principal. Elegimos el unico generador monico. Ese es mξ(X)y se tiene Iξ = 〈mξ〉. Es inmediato comprobar que se cumplen las primerastres condiciones. Para comprobar que es irreducible en F[X], supongamos quees reducible y que mξ = g1g2, con 0 < gr(g1), gr(g2) < gr(mξ). Entoncesg1(ξ) = 0 o g2(ξ) = 0, lo cual es imposible.

6.2.8. Definicion. Sea F un cuerpo y ξ un elemento algebraico sobre F. Alpolinomio mξ se le llama polinomio mınimo de ξ sobre F.

En los ejemplos siguientes veremos que no todo elemento primitivo puedeser raız primitiva.

Las raıces estan agrupadas en potencias del orden del cuerpo, como estableceel siguiente resultado.

6.2.9. Proposicion. Sea K/F una extension y ξ ∈ K una raız de f ∈ F[X]. Si|F| = q entonces ξq es raız de f .

Demostracion. Inmediata del Lema 6.1.17.

6.2.10. Definicion. Sea K/F una extension. Dos elementos de K decimos queson conjugados en F si sus polinomios mınimos sobre dichos cuerpos coinciden.

6.2.11. Teorema. Sea f ∈ Fq[X] irreducible de grado r > 1. Entonces

Page 64: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 63

1. Si K es un cuerpo de descomposicion de f en F = Fq entonces [K : F] = r.

2. Todas las raıces de f son simples y dadas por los r elementos distintos

ξ, ξq, . . . , ξqr−1

donde ξ es cualquier raız de f .

3. En consecuencia, cualquier raız de f es elemento primitivo del cuerpo deescision donde pertenezca.

Demostracion. Sea, pues, ξ una raız de f .1. Consideremos el isomorfismo F(ξ) ∼= F[X]/〈f〉 inducido por la evaluacion.

Es inmediato que dimF (F[X]/〈f〉) = r, ası que [F(ξ) : F] = r.

2. Considero ξ, ξq, . . . , ξqs−1

con ξqs

= ξ, el primero. Es inmediato que s ≤ r.Consideremos cualquier elemento primitivo ρ ∈ F(ξ). Entonces hay una escrituraρ =

∑aiξ

ki , con ai ∈ F y ki ≤ qs. Ahora, ρqs

=∑aiξ

ki·qs =∑aiξ

ki = ρ y por

tanto r ≤ s. Ası que s = r. Luego ξ, ξq, . . . , ξqr−1

son todos distintos y ademasξqi ∈ F(ξ).

3. Inmediato de la demostracion del apartado (1 ).

6.2.12. Corolario. En la situacion del Teorema 6.2.11, sea ξ ∈ K y mξ supolinomio mınimo sobre F. Entonces se tiene una descomposicion en K,

mξ(X) =

s−1∏i=0

(X − ξq

i)

donde s es el primer natural tal que ξqs

= ξ; que, de hecho, es el grado delpolinomio mınimo.

Demostracion. Es inmediata.

El siguiente resultado establece la relacion entre grado de una extension ygrado del polinomio mınimo de cualquier elemento primitivo.

6.2.13. Corolario. Sea K/F una extension de grado r y sea ξ un elementoprimitivo de K, con polinomio mınimo mξ sobre F. Entonces r = gr (mξ)

Demostracion. Inmediata de los Teoremas 6.2.7 y 6.2.11

En la notacion del Ejemplo 6.2.5, se tiene que F4 es el cuerpo de descompo-sicion de X2 +X + 1 = (X + ξ)(X + ξ2)

Page 65: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 64

6.3. Existencia y unicidad.

En esta seccion vamos a demostrar la existencia y la unicidad de los cuerposfinitos. Lo haremos en dos partes. Primero probaremos el resultado para cuerposde escision y luego lo aplicaremos a los cuerpos finitos en general. De hecho,veremos que todo cuerpo finito es un cuerpo de descomposicion o escision. Yahemos probado su existencia. Vamos a probar la unicidad.

6.3.1. Teorema [Unicidad del cuerpo de escision]. Sea F un cuerpo y f ∈F[X]. Cualesquiera dos cuerpos de descomposicion de f sobre F son isomorfos.

Demostracion. Sea K = F (ξ1, . . . , ξn), construido como en el Corolario 6.2.3.Recordemos que f se descompone en factores lineales en K[X]. Sea L/F unaextension tal que posee una raız de f , digamos l ∈ L. Se considera cualquierfactor irreducible g de f tal que g(l) = 0. Por otra parte, existe ξi ∈ K tal queg(ξi) = 0. Entonces, los subcuerpos F(ξi) y F(l) son isomorfos a F[X]/〈g〉 y elisomorfismo compuesto entre ellos es la correspondencia ξi 7→ l. A partir de ahı,si hay mas raıces en L seguimos extendiendo hasta obtener K → L. De aquı elresultado es inmediato.

6.3.2. Notacion. Dado un cuerpo F y un polinomio f ∈ K[X], podemos hablarde “el cuerpo de descomposicion de f sobre K”, salvo isomorfismo.

6.3.3. Lema. Sea F un cuerpo finito con q elementos y Fp su subcuerpo primo.Entonces, el polinomio Xq −X ∈ Fp[X] se factoriza en F[X] como

Xq −X =∏r∈F

(X − r) ;

es decir, todas las raıces de Xq −X viven en F cuando Car(F) = p y |F| = q.

Demostracion. Por el Lema 6.1.17, todos los elementos de F son raıces, y comogr (Xq −X) = q, ya tenemos todas las raıces.

6.3.4. Observacion. Recordemos que si un polinomio sobre cualquier cuerpotiene raıces mutiples entonces la derivada no puede ser constante distinta decero. Veamoslo. Supongamos que r ∈ F es dicha raız. Si f = gh y f ′ = c ∈ Fentonces g′h+ gh′ = c, luego 0 = g′(r)h(r) + g(r)h′(r) = c; contradiccion.

6.3.5. Teorema [Existencia y unicidad de los cuerpos finitos]. Para cual-quier primo, p y cualquier natural, t, existe un cuerpo finito con pt elementos.

Cualquier cuerpo finito con q = pt elementos es isomorfo a un cuerpo dedescomposicion (o escision) del polinomio Xq −X sobre Fp.

Demostracion. Existencia: Considerese el polinomio Xq −X ∈ Fp[X]. Comola derivada (Xq −X)

′= −1 entonces el polinomio no tiene raıces multiples. Ası

que tiene exactamente q raıces distintas (Corolario 6.2.3).Sea F el cuerpo de descomposicion de Xq − X en Fp y consideremos L =

ξ ∈ F | ξq − ξ = 0. Claramente, |L| = q y L es un subcuerpo de F (hagase

Page 66: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 65

la cuenta si se quiere). Ası que L es un cuerpo generado por todas las raıces deXq −X. Pero esa es la definicion de cuerpo de descomposicion; ası que L = F.

Unicidad: Inmediato del hecho de que todos los cuerpos finitos son cuerposde descomposicion, junto con la unicidad de estos (Teorema 6.3.1).

6.3.6. Observacion. Hemos probado entonces que todo cuerpo finito con q =pt elementos es el cuerpo de descomposicion de Xq −X en Fp.6.3.7. Notacion. Para q = pt, con p, primo, denotamos al cuerpo (salvo iso-morfismo) con q elementos con Fq.6.3.8. Teorema. Sea p un numero primo; t, r numeros naturales, y Fpt y Fprcuerpos finitos. Entonces Fpt es (isomorfo a) un subcuerpo de Fpr si y solo sit|r.

Demostracion. Sea ξ una raız primitiva de Fpr . Supongamos primero que t|r.Entonces, es sabido que (pt − 1)|(pr − 1) y por tanto F∗pr tiene un subgrupo deorden pt − 1, con el cual se forma un subcuerpo de la forma Fpt .

Recıprocamente, supongamos que tenemos un subcuerpo de Fpr de la formaFpt . Entonces tambien se tiene que F∗pt es subgrupo de F ∗pr de donde (pt −1)|(pr − 1) y por tanto t|r.

Ası que si tenemos un extension cualquiera L/K, los resultados anterioresnos dicen que ha de ser de la forma Fqs/Fq con q = pt y s = r/t. Considero unaraız primitiva de Fqs , digamos ξ. Entonces

Fqs =

0, 1, ξ, . . . , ξqs−2.

Haciendo k = qs−1q−1 se tiene que

Fq =

0, 1, ξk, ξ2k, . . . , ξ(q−1)k−1

y ademas Fqs = Fq(ξ) = Fp(ξ). De inmediato se desprende entonces que

6.3.9. Teorema. Toda extension L/K de cuerpos finitos es algebraica y simple.

Demostracion. Inmediato del hecho de que 1 + ξ + · · ·+ ξq−1 = 0.

Ası que los cuerpos fintos estan organizados en torres mas o menos ası (concontenciones “unicas”)

Fp

*

HHHHY 6

Fp2 Fp3 . . .

*6

*6

Fp4 Fp6 Fp9

. . .

Page 67: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 66

6.4. Ejemplos

6.4.1. Ejemplo. Comencemos con F2 = 0, 1, y consideremos el polinomio

X22

−X = X4 −X = X (X + 1)(X2 +X + 1

).

Aquı, X2 +X + 1 es el unico irreducible de grado 2. Sea ξ una raız de dichopolinomio. Entonces ξ2 + ξ + 1 = 0 y con ella construimos

F4 =a+ bξ | a, b ∈ F y ξ2 + ξ + 1 = 0

=

0, 1, ξ, ξ2 | ξ3 = 1.

Ahora vamos a extender F2 a F24 . Consideramos la factorizacion

X24

−X = X (X + 1)(X2 +X + 1

) (X4 +X3 + 1

·(X4 +X + 1

) (X4 +X3 +X2 +X + 1

)en irreducibles en F2[X].

Para construir una extension de F2, de grado 4, los polinomios de grado 1 y2 no sirven. Vamos a los de grado 4. Sea β una raız cualquiera de alguno de los

polinomios de grado 4. Las raıces seranβ, β2, β22

, β23

.

Ahora tenemos dos caminos:Primero. Hacemos,

X4 +X3 + 1 = (X + β)(X + β2

) (X + β22

)(X + β23

)= X4 +

(β + β2 + β4 + β8

)X3 +

+(β3 + β5 + β6 + β9 + β10 + β12

)X2 +(

β7 + β11 + β13 + β14)X + β15

y a partir de aquı construimos F24 . Es un poco rollo; o mas bien mucho.Otra forma. Hacemos

F24 =a1 + a2β + a3β

2 + a4β3 | ai ∈ F2; β4 + β3 + 1 = 0

.

o cualquier otra de las ecuaciones.Podemos hacer la tabla completa. Comenzamos con

0, 1, β, β2, β3

Page 68: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 67

y formamos,

β4 = 1 + β3

β5 = β + β4 = β + 1 + β3 = 1 + β + β3

β6 = β + β2 + β4 = β + β2 + 1 + β3 = 1 + β + β2 + β3

β7 = β + β2 + β3 + β4 = β + β2 + β3 + 1 + β3 = 1 + β + β2

β8 = β + β2 + β3

β9 = β2 + β3 + β4 = β2 + β3 + 1 + β3 = 1 + β2

β10 = β + β3

β11 = β2 + β4 = β2 + 1 + β3 = 1 + β2 + β3

β12 = β + β3 + β4 = β + β3 + 1 + β3 = 1 + ββ13 = β + β2

β14 = β2 + β3

β15 = β3 + β4 = 1, como debe de ser.

En este caso, β es elemento primitivo y raız primitiva.

6.4.2. Ejemplo. Nos situamos otra vez en el ejemplo anterior, pero ahoraelegimos el factor X4 +X3 +X2 +X + 1. Sea γ una raız de dicho polinomio.

Es inmediato comprobar que γ tiene orden 5 y por tanto no puede ser raızprimitiva de F24 . Tambien, con un poco mas de trabajo, se puede ver que γ = β9

y ademas

F24 =a1 + a2γ + a3γ

2 + a4γ3 | ai ∈ F2; γ4 + γ3 + γ2 + γ + 1 = 0

.

Como hemos visto, podemos tambien pasar a F24 , extendiendo F22 en vezde F2. Veamos.

6.4.3. Ejemplo. Tenemos F22 =

0, 1, ξ, ξ2

, y q = 22 = 4. Sabemos que F24

es una extension que se construira con un irreducible de grado 2 = [F24 : F22 ].

Esos irreducibles seran divisores de Xq2 −X o sea,

X42

−X = X (X + 1)(X2 +X + 1

) (X4 +X3 + 1

) (X4 +X + 1

)(X4 +X3 +X2 +X + 1

)=

= X (X + 1) (X + ξ)(X + ξ2

) (X2 + ξX + ξ

)(X2 + ξ2X + ξ2

) (X2 +X + ξ

) (X2 +X + ξ2

)(X2 + ξX + 1

) (X2 + ξ2X + 1

).

Ahora usamos cualquier irreducible de grado 2, como por ejemplo, la primera,X2 + ξX + ξ y consideramos una raız (un sımbolo que verifica la ecuacionanterior), digamos α.

Tenemosα2 + ξα+ ξ = 0 y ξ2 + ξ + 1 = 0.

De aquı sacaremos toda la tabla.Entonces F24 = a+ bα | a, b ∈ F22 ; y las relaciones anterioresVamos a hacer tambien la tabla completa para construir todo otra vez como

potencias de α.

Page 69: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 68

Tenemos0, 1, α

y ademas,α2 = ξ + ξαα3 = αα2 = · · · = ξ2 + α

α4 =(α2)2

= · · · = ξ + αα5 = ξα6 = ξαα7 = α2α5 = · · · = ξ2 + ξ2α

α8 =(α4)2

= · · · = 1 + ξαy ası...α9 = ξ2 + ξαα10 = ξ2

α11 = ξ2αα12 = 1 + αα13 = ξ + ξ2αα14 = 1 + ξ2α

6.5. El anillo F[X]/(Xn − 1)

Como siempre F = Fq, el cuerpo con q elementos, y para n ∈ N, coprimo conq, denotamos el anillo cociente con F(n) = F[X]/ (Xn − 1). Como siempre, siun polinomio f ∈ F[X] tiene grado menor que n entonces escribimos f ∈ F(n).Si el grado es mayor, o puede serlo, escribiremos entonces f ∈ F(n).

El objetivo de esta seccion es describir el anillo cociente F(n) = F[X]/〈Xn−1〉 y la relacion con las raıces de Xn− 1. Los codigos cıclicos seran identificadoscomo ideales de F(n).

6.5.1. Definicion. Sea n ∈ N, y consideremos el cuerpo F.

1. Decimos que ξ ∈ F es raız n-esima de la unidad si ξn = 1.

2. Decimos que α ∈ F es raız primitiva de la unidad si αn = 1 y n es elprimer natural (no cero) con la propiedad.

Vamos a introducir alguna notacion que utilizaremos hasta el final de estetexto. Denotamos con L al cuerpo de escision de Xn − 1 sobre F. EntoncesL contiene a una raız n-esima primitiva de la unidad. Denotamos con Un elconjunto de todas ellas. Claramente, si α ∈ Un verifica que α ∈ L entoncesUn ⊂ L.

6.5.2. Proposicion.

1. Si ξ ∈ Fq es una raız primitiva de Fq entonces ξ es una raız (q− 1)-esimaprimitiva de la unidad.

2. Fq tiene una raız n-esima primitiva de 1 si y solo si n | (q − 1). En estecaso, Un ⊂ Fq.

Page 70: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 69

Demostracion. Inmediata del hecho de que F∗q es cıclico.

6.5.3. Definicion. Sea n ∈ N con mcd(q, n) = 1. Sea 0 ≤ s ≤ n. La claseq-ciclotomica de s modulo n es:

Cs =s, sq, . . . , sqr−1

donde r = mın t ∈ N | sqt ≡ s mod n.

Por ejemplo:Modulo Clases 2-ciclotomicas

3 0, 1, 25 0, 1, 2, 4, 37 0, 1, 2, 4, 3, 6, 59 0, 1, 2, 4, 8, 7, 5, 3, 611 0, 1, 2, 4, 8, 5, 10, 9, 7, 3, 613 0, 1, 2, 4, 8, 3, 6, 12, 11, 9, 5, 10, 715 0, 1, 2, 4, 8, 3, 6, 9, 12, 5, 10, 7, 14, 13, 11

6.5.4. Observaciones.

1. Considerese G =qii∈Z actuando en Zn, a traves de x 7→ xqi ∈ Zn. Los

Cs son las orbitas de esta accion y por tanto forman una particion de Zn.

2. Sean n, k numeros naturales, tales que (n, q) = 1 y n | qk − 1. EntoncesF∗qk posee un (unico) subgrupo cıclico de orden n, digamos, Ω. Sea ξ ∈ Ωcualquier generador; es decir, una raız n-esima primitiva de la unidad.Entonces, si hacemos Ωs =

ξj | j ∈ Cs

tendremos que Ωs es una

particion para Ω y cualesquiera dos elementos de un Ωi son conjugados.

Aun mas, como para todo f ∈ Fq[X] ocurre que f(ξiq)

= f(ξi)q

enton-ces tambien ocurrira que cada clase q-ciclotomica corresponda con UN SOLOpolinomio mınimo; es decir,

6.5.5. Teorema. Sea ξ ∈ Fqr una raız n-esima de 1 (entonces mcd(n, q) = 1).Entonces:

1. Para cada 0 ≤ s < n el polinomio mınimo de ξs en Fq se factoriza enFqr [X] como

mξs(X) =∏i∈Cs

(X − ξi

)donde Cs es la clase q-ciclotomica de s modulo n.

2. Ası que, si α ∈ Un la factorizacion de Xn − 1 en Fq[X] es

Xn − 1 =∏s∈S

mαs(X)

donde S es un juego completo de representantes de las clases q-ciclotomi-cas modulo n.

Page 71: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 70

Demostracion. Es consecuencia directa del Teorema 6.2.11. Veamos. Sea α = ξs

y supongamos que gr(mα) = m. Por dicho teorema, α, . . . , αqm−1

son todas lasraıces de mα y ademas, por el argumento de la demostracion, se cumple queαq

m

= α ym es el primero con la propiedad. De ahı que Cs =s, sq, . . . , sqm−1

.

Notes que gr(mα) = |Cs|.Sea ξ una raız n-esima primitiva de 1. Se considera S un juego completo

de representantes de las clases q-ciclotomicas. Claramente, para cada s ∈ S,ξs es raız de Xn − 1 y por tanto

∏s∈S mξs(X) | (Xn − 1). Finalmente, como

n =∑s∈S |Cs| =

∑s∈S gr (mξs) se tiene la igualdad.

6.5.6. Observaciones. Ahora vamos a hacer una lista de hechos que sabemoso podemos probar muy facilmente. Sea F = Fq.

1. Si mcd(n, q) = 1 entonces Xn − 1 no tiene raıces multiples.

2. Si I ≤ F(n), existe g ∈ F[X], monico, tal que g | (Xn− 1) e I = 〈g〉. (Estepolinomio es unico.)

3. Si g · h | Xn − 1 entonces g y h son coprimos (no hay raıces multiples) ypor tanto existen a, b ∈ F[X] tales que 1 = ag + bh.

4. En F(n), si ocurre 1 = ag+bh, con gh = 0 entonces e = ag es idempotente,con bh = 1− e.

5. Por tanto, F(n) es semi simple y conmutativo. Por el Teorema de Wed-derburn F(n) es producto de cuerpos. (Esto tal vez no se conozca, pero loveremos explıcitamente.)

6.5.7. Definicion. Sea I un ideal de F(n). Al polinomio monico g | Xn − 1 dela Observacion 6.5.6.2 se le conoce como polinomio generador de I.

Vamos ahora a establecer la relacion entre los ideales del anillo F(n) y lasclases q-ciclotomicas de las raıces n-esimas de la unidad. Consideremos la situa-cion de la Observacion 6.5.4, donde k puede ser elegido de tal manera que seaprecisamente el orden multiplicativo de q, modulo n.

6.5.8. Definicion. Sea I un ideal de F(n).

1. El conjunto de ceros de I es

Z(I) = ξ ∈ L | ξn = 1 y p (ξ) = 0, ∀ p ∈ I

2. El conjunto de no ceros de I son aquellos ξ ∈ L que son raıces de la unidadpero que no pertenecen a Z(I).

3. La misma definicion se aplica a polinomios.

6.5.9. Teorema. Sean q una potencia de un primo p; n, k numeros naturales,tales que (n, q) = 1 y k es el orden multiplicativo de q, modulo n. Sean Cilas clases q-ciclotomicas modulo n, y α ∈ Fqk una raız n-esima primitiva de launidad. Entonces

Page 72: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 71

1. Todo ideal I de F(n) determina una unica union de clases ciclotomicasDα(I) = Ci1 ∪ · · · ∪ Cir , de tal manera que

Z(I) =αj | j ∈ Dα(I)

2. Recıprocamente, fijada la raız α, toda reunion de clases q-ciclotomicas

modulo n, D = Ci1 ∪ · · · ∪ Cir determina un unico ideal I de F(n), dadopor

I =p ∈ F(n) | p(αj) = 0, ∀ j ∈ D

3. Lo mismo se obtiene si consideramos un solo polinomio.

Demostracion. Inmediata.

6.5.10. Definicion. En la situacion del teorema anterior, al conjunto Dα(I)se le conoce como conjunto de definicion de I respecto de α.

Notese que, entonces, fijada una raız α ∈ Un, todo ideal de F(n) esta deter-minado de manera unica por un conjunto de definicion, respecto de dicha raız.En terminos de su polinomio generador se tiene el siguiente corolario.

6.5.11. Corolario. En la situacion del teorema anterior, sean Cq(a1), . . . , Cq(as)todas las distintas clases q-ciclotomicas, y fijemos α ∈ Un, de dicho teorema.Considerese un ideal I de F(n) y su polinomio generador g ∈ I o simplemente, seconsidera un polinomio g ∈ F(n). Supongamos que Dα(I) = Cq(au1

), . . . , Cq(aut).

Entonces g =∏tv=1mαauv .

Demostracion. Inmediata.

6.5.12. Ejemplo. Sea F = F2 y n = 15. Como hemos visto antes las clases 2-ciclotomicas modulo 15 son 0, 1, 2, 4, 8, 3, 6, 9, 12, 5, 10, 7, 14, 13, 11.Descomponemos

X15−1 = (X+1)(X2 +X+1)(X4 +X+1)(X4 +X3 +1)(X4 +X3 +X2 +X+1)

como hicimos antes, en el Ejemplo de (6.4.1). Elegimos, igual que en dichoejemplo β y la fijamos. Recordemos que mβ = X4 +X3 + 1.

Ahora consideremos el ideal I de R15 generado por el polinomio (generador)g = (X2 +X + 1)(X4 +X + 1). En este caso, se puede comprobar que Dβ(I) =C2(5) ∪ C2(7).

Si consideramos la raız ξ cuyo polinomio mınimo es X4 +X + 1 entonces setendra, claramente, que Dξ(I) = C2(5) ∪ C2(1).

Recordemos que no todo polinomio irreducible esta asociado con una raızprimitiva de la unidad, como vimos en el Ejemplo 6.4.2.

6.5.13. Teorema. Sean I, J ideales de F(n) con polinomios generadores g, h,respectivamente. Entonces:

1. I ≤ J si y solo si h | g.

Page 73: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 72

2. Por tanto, los ideales maximales tienen generadores irreducibles y sus cerosforman una sola clase ciclotomica.

3. El polinomio generador de I ∩ J es la imagen de mcm(g, h).

4. El polinomio generador de I + J es la imagen de mcd(g, h).

5. El polinomio generador de I · J es la imagen de mcd(gh,Xn − 1).

Demostracion. Basta hacer las cuentas.

6.5.14. Proposicion. Sean Cq(a1), . . . , Cq(as) todas las distintas clases q-ciclotomi-cas, y fijemos α ∈ Un. Considerese la descomposicion Xn−1 =

∏si=1mi, donde

los mi = mαai son los polinomios mınimos de las distintas clases q-ciclotomicas.Hacemos ui = Xn−1

mi. Entonces

1. Existen ai, bi tales que 1 = aimi + biui.

2. F(n)mi = F(n)aimi y F(n)ui = F(n)biui.

3. F(n)mi es maximal y F(n)ui es minimal.

4. F(n)ui ∼= F(n)/F(n)mi∼= F[X]/(mi) ∼= Fqgr(mi) .

Demostracion. Las tres primeras son inmediatas. Para la ultima es el segundoteorema de isomorfıa; esto es, F(n)/F(n)mi

∼= (F[X]/(Xn − 1) / ((mi)/(Xn − 1)).

Sabemos que las identidades de Bezout vistas se pueden extender a massumandos, ası que

6.5.15. Teorema. Considerese la descomposicion Xn−1 =∏si=1mi, donde los

mi son los polinomios mınimos de las distintas clases q-ciclotomicas. Hacemosui = Xn−1

mi. Entonces

1. F(n) = F(n)u1 × · · · × F(n)us.

2. F(n)ui ∼= Fqgr(mi) .

Demostracion. Inmediata.

Como gr(mi) = |Ci| entonces se tiene

6.5.16. Corolario. Sean C1, . . . , Cs las distintas clases q-ciclotomicas modulon. Entonces

F[X]/(Xn − 1) ∼=s∏i=1

Fq|Ci| .

6.5.17. Corolario. Si mcd(n, q) = 1 entonces F(n) es un producto de cuerpos.

Page 74: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 73

6.5.18. Ejemplo. Consideramos F2 y n = 7.Usando el Corolario 6.5.16, calculamos las clases 2-ciclotomicas modulo 7.

Son C0 = 0, C1 =

1, 2, 22

, C3 =

3, 3 · 2, 3 · 22

. La estructura es:

F(7) = F2[X]/(X7 − 1) ∼= F2 × F23 × F23 .

Ahora viene la parte ardua que es calcular los idempotentes de la descom-posicion.

Lo primero que necesitamos es la factorizacion de X7−1 en irreducibles. Enprincipio, el Teorema 6.5.5 nos dice como hacerlo explıcitamente. Como hay tresclases 2-ciclotomicas, modulo 7, hay tres factores irreducibles que se construyen,usando a ξ, una raız septima de 1, ası:

1. El de C0, que es X + 1.

2. El de C1 que es (X + ξ)(X + ξ2

) (X + ξ4

)= X3 +

(ξ4 + ξ2 + ξ

)X2 +(

ξ6 + ξ5 + ξ3)X + 1.

3. El de C3 que es(X + ξ3

) (X + ξ6

) (X + ξ5

)= X3 +

(ξ3 + ξ5 + ξ6

)X2 +(

ξ + ξ2 + ξ4)X + 1.

Nuevamente, el Teorema 6.5.5 nos dice que los coeficientes de los polinomiosξ4 +ξ2 +ξ y ξ3 +ξ5 +ξ6 viven en F2, luego son 0 o 1. Pero, desafortunadamente,no podemos saberlo con un metodo fijo; ası que descomponer polinomios siguesiendo igual de difıcil que, por ejemplo, en la caracterıstica 0.

Hay programas y tablas para calcular descomposiciones. Uno termina siem-pre echando mano de ellas.

Ası que, expresamos como producto de irreducibles X7 − 1 = (X + 1)(X3 +X2 + 1)(X3 +X + 1). Entonces

m1 = X + 1 u1 = X6 + · · ·+X2 +X + 1m2 = X3 +X2 + 1 u2 = X4 +X3 +X2 + 1m3 = X3 +X + 1 u3 = X4 +X2 +X + 1

De aquı, todavıa faltara hacer las identidades de Bezout para obtener losidempotentes.

6.6. Automorfismos

6.6.1. Definicion. El grupo de Galois, como siempre, es Gal (F) el grupo delos automorfismos junto con la composicion.

Si Fqs/Fq es una extension, denotamos con Gal (Fqs/Fq) los automorfismosde Gal (Fqs) que dejan fijo a Fq.

Por la Definicion 6.1.14 se tiene

6.6.2. Observacion. Un automorfismo de Frobenius es un elemento

σp ∈ Gal (Fpr ) .

Page 75: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 6. CUERPOS FINITOS 74

Notese que σpr = σp (r). . . σp tiene sentido.Vamos a describir a Gal (Fq).Notese que Gal (Fq) = Gal (Fq/Fp).

6.6.3. Teorema. Sea p un numero primo y r ∈ N. Entonces, Gal (Fpr ) = 〈σp〉.En consecuencia, es un grupo cıclico de orden r.

Demostracion. Hacemos q = p y consideramos ξ ∈ Fqr un elemento primitivoy mξ su polinomio mınimo en Fq. Sabemos que para cada σ ∈ Gal (Fq), σ(ξ)

es raız de mξ y que esas raıces son ξ, ξq, . . . , ξqr−1

, ası que no hay mas quer-distintos automorfismos de 〈σp〉 = Gal (Fqr ).

6.6.4. Corolario. Sea q = pt y 0 ≤ n ≤ t. Entonces x ∈ Fq | σpn(x) = x =Fpmcd(n,t) .

Demostracion. Inmediato del hecho de que x ∈ Fq | σpn(x) = x es un sub-cuerpo.

Page 76: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Capıtulo 7

Codigos cıclicos

7.1. Conceptos basicos

Seguimos con la notacion anterior; ası que F = Fq, es el cuerpo con q elemen-tos, y para n ∈ N, coprimo con q, el anillo cociente es F(n) = F[X]/ (Xn − 1).Como siempre, si un polinomio f ∈ F[X] tiene grado menor que n entoncesescribimos f ∈ F(n). Si el grado es mayor, o puede serlo, escribiremos entoncesf ∈ F(n). Ademas, L sera el cuerpo de escision de Xn − 1 sobre F. EntoncesL contiene a una raız n-esima primitiva de la unidad. Denotamos con Un elconjunto de todas ellas.

7.1.1. Definicion. Un [n, k]-codigo lineal C sobre F se llama codigo cıclico sicumple que es cerrado para permutaciones cıclicas; es decir, (x0, . . . , xn−1) ∈C ⇒ (xn−1, . . . , xn−2) ∈ C.

7.1.2. Ejemplos. Vamos a ver algunos ejemplos muy simples

1. El total y el trivial.

2. El de repeticion.

3. El (0000) , (1010) , (0101) , (1111), de dimension 2.

4. El 〈(1100) , (0110) , (0011)〉 en F42.

5. Sea P la matriz de permutacion cıclica; es decir,

P =

(0 I1 0

)y X ⊆ Fn un subconjunto arbitrario. Entonces

⟨XP i | i ∈ N

⟩sera un

codigo cıclico.

6. Un codigo que NO es cıclico, (0000) , (1100) , (0011) , (1111). Notese quees cerrado para mover de dos en dos; de hecho, es permutacion equivalentea un cıclico.

75

Page 77: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 76

7.1.3. Proposicion. Un codigo lineal C ≤ Fn es cıclico si y solo si el ortogonal,C⊥ es codigo lineal cıclico.

Demostracion. Sea P la matriz de permutacion cıclica. Entonces y ∈ C⊥ ⇔y ·(xP i

)t= 0 para todo x ∈ C y para todo i ∈ N.

Por la definicion, la matriz de permutacion es ortogonal; es decir, PP t = I.

Como Pn = I entonces (P i)t = Pn−i. Ası,(yP i

)xt = y ·

(xPn−i

)t= 0.

7.2. Codigos cıclicos y anillos de polinomios

Seguimos suponiendo que mcd(n, p) = 1. Considerese Fn con la base canoni-ca En y F(n) = F[X]/(Xn − 1), como hemos estudiado, con su base canonicaXn =

1, X,X2, . . . , Xn−1

(abusando de notacion, porque deberıan de tener

barras).Sea φ : En → Xn tal que φ(ei) = Xi−1, i = 1, . . . , n. Esta correspondencia

induce un isomorfismoΨ : Fn −→ F(n)

que dejaremos en notacion fija.

7.2.1. Proposicion. En la situacion anterior (con Ψ fija), sea C ≤ Fn uncodigo lineal. C es cıclico si y solo si Ψ(C) es ideal en F(n).

Demostracion. Inmediato del siguiente diagrama conmutativo.

Fn F(n)

Fn F(n)

? ?

-

-

·P x· o ·x

Ψ

Ψ−1

Ψ

Ψ−1

Como ejemplos de codigos cıclicos tenemos los ideales obtenidos en el Ejem-plo 6.5.18.

Como hemos comentado, la definicion de codigo cıclico nos impide ver alcodigo

D = (0000) , (1100) , (0011) , (1111)como cıclico, a pesar de que sabemos que le operador que mueve dos veces lascoordenadas los deja invariante.

Si consideramos ϕ : F4 → F(4) con ϕ (e1) = 1, ϕ (e2) = X2, ϕ (e3) =X, ϕ (e4) = X3 se puede comprobar facilmente que ϕ(D) es ideal en F(n).

Aun mas, los unicos isomorfismos entre Fn y F(n) que pueden interesar hande preservar pesos, luego han de ser biyecciones entre las bases canonicas. De

Page 78: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 77

hecho, dos isomorfismos que preservan pesos restringen a una permutacion delas bases canonicas.

7.2.2. Proposicion. Un codigo C ≤ Fn lineal es equivalente a un codigo cıclicosi y solo si existe un isomorfismo entre Fn y F(n) que restringe a una biyeccionde las bases canonicas y C se corresponde con un ideal.

Demostracion. Inmediata.

A partir de ahora, cuando digamos C es un codigo cıclico, obviaremos laequivalencia por permutaciones y entenderemos C ≤ F(n) ∼= Fn, abusando dela notacion.

7.2.3. Observacion. Repasemos lo que acabamos de ver sobre los ideales enF(n). Fijamos una raız n-esima primitiva de la unidad, digamos ξ, y conside-ramos las clases q-ciclotomicas modulo n, Ci1 , . . . , Cis , con S = i1, . . . , is unjuego completo de representantes. Sean, como siempre, mj = mξij

(X) los polino-

mios mınimos y uj = Xn−1mj

. Sabemos por el Teorema 6.5.15 que los F(n)uj son

todos los ideales minimales y que cada F(n)uj ∼= Fqgr(mj)

= Fq|Cj |

. Por tanto,

dimF F(n)uj = gr(mj) = |Cj |.Sea ahora I ≤ F(n) un codigo cıclico. Por la Observacion 6.5.6, existe un

polinomio generador (monico) g ∈ F[X] tal que I = 〈g〉 y g | Xn − 1; por esoabusamos de la notacion y escribimos g en vez de g. Si h = Xn−1

g entonces

existen S1 y S2, una particion de S tal que (Teorema 6.5.5) g =∏j∈S1 mj y

h =∏k∈S2 mk; ademas,

F(n)g =∏k∈S2

F(n)uk ∼=∏k∈S2

Fqgr(mk)∼=∏k∈S2

Fq|Ck| .

De aquı, dimF F(n)g = n− gr(g) =∑k∈S2 |Ck|.

7.2.4. Proposicion. Sea C un codigo cıclico en F(n) con polinomio generador

g(X) =∑n−ki=0 giX

i; es decir, gr(g) = n− k. Entonces

1. dimF C = k.

2.g(X), x · g(X), . . . , xk−1 · g(X)

es base para C.

3. La matriz a continuacion es generadora de C,

G =

g0 g1 · · · gn−k 0 · · · 00 g0 · · · gn−k · · ·

. . .. . .

0 g0 · · · gn−k

k×n

Demostracion. 1. Acabamos de verlo en la Observacion 7.2.3.2. Se desprende de inmediato del hecho de tener todos grados distintos. Si∑k−1i=0 riX

ig(X) = 0 entonces rk−1gn−kXn−1 = 0, luego rk−1 = 0. Repitiendo

el argumento se tiene r0 = · · · = rk−1 = 0.3. Es la matriz generadora de la base anterior.

Page 79: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 78

Una vez que tenemos la matriz generadora queremos la matriz de control.

7.2.5. Definicion. Sea C un codigo cıclico en F(n) con polinomio generadorg(X). Llamaremos polinomio de control de C a

h(X) =Xn − 1

g(X)

es decir, gh = Xn − 1 en F[X].

Usando h podemos dar una matriz de control muy facil.

7.2.6. Teorema. Sea C ≤ F(n) codigo cıclico y h =∑ki=0 hiX

i su polinomiode control. Entonces la siguiente matriz es matriz de control para C,

H =

hk hk−1 · · · h0 0 · · · 00 hk · · · h0 · · ·

. . .. . .

0 hk · · · h0

n−k+1×n

;

es decir,

H = (aij)n−k+1×n | aij =

0 si j − i < 0

hk−(j−i) si 0 ≤ j − i ≤ k0 si k < j − i

Demostracion. Sea c = c(X) un elemento de C. Entonces c = gf , donde g esel generador, y f un polinomio en F(n) con grado estrictamente menor que k,pues la suma de sus grados no puede pasar de n− 1 y g tiene grado n− k (estosiempre se puede conseguir con un representante adecuado, ya que si gf tienegrado mayor que n, hacemos gf = u(Xn−1)+r, pero g | (Xn−1), luego g | r ypor tanto gf = g rg = g rg y tiene grado menor o igual a n). Entonces hc = hgf =

(Xn − 1)f . Veamos que el polinomio (Xn − 1) f tiene todos los coeficientes de

los terminos de grado k, . . . , n − 1 cero. Supongamos que f =∑k′

i=0 fiXi, con

k′ < k. Entonces (Xn− 1)f = −f +Xnf = −∑k′

i=0 fiXi +∑k′

i=0 fiXn+i, o sea,

que Xk, . . . , Xn−1 tienen coeficientes 0.Haciendo c =

∑n−10 ciX

i, es inmediato hacer la cuenta y ver que en elproducto hc los coeficientes de los grados k, . . . , n − 1 son precisamente lasentradas del producto

H

c0...

cn−1

= 0

por tanto H es matriz de control.

Observese entonces que, en la situacion del resultado anterior, C⊥ no nece-sariamente esta generado por el polinomio de control, h.

Page 80: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 79

7.2.7. Definicion. Para un polinomio f(X) =∑mi=0 aiX

i, se define

f?(X) = Xmf(X−1

)= Xm ·

m∑i=0

aiX−i =

m∑i=0

aiXm−i

7.2.8. Ejercicio. Probar que en la situacion de la definicion anterior

1. Si f | g entonces g? | f?.

2. Si g | Xn − 1 entonces g? | Xn − 1.

Efectivamente. 1. Basta ver que fg = h implica que f?g? = h. Hacemos los dosf =

∑mi=0 fiX

i y g =∑mi=0 giX

i donde los coeficientes de alguno de ellos pueden

ser 0. Entonces h =∑2mk=0

(∑i+j=k figi

)Xk. Finalmente, se puede comprobar

que f?g? =∑2mk=0

(∑i+j=k figi

)X2m−k = h?.

2. Inmediato del hecho de que (Xn − 1)?

= 1−Xn.

De los resultados sobre los ceros de un codigo cıclico y la construccion de lamatriz de control anterior y del polinomio h? se tiene de inmediato la siguienteproposicion.

7.2.9. Proposicion. Sea C un codigo con polinomio de control h =∑hiX

i.Entonces

1. C⊥ tiene polinomio generador h⊥ = 1h(0)h

?.

2. Si ζ es raız de h(X) entonces ζ−1 es raız de h∗(X); por tanto, los cerosde C⊥ son precisamente los inversos de los no ceros del codigo C.

Demostracion. Inmediata.

7.3. Ceros de un codigo cıclico y matrizde control

Sea C un codigo cıclico de orden n sobre F = Fq, con mcd(n, q) = 1, αuna raız n-esima primitiva de la unidad, que dejamos fija, y Dα(C) el conjuntode definicion de C respecto de α. Sea T = t1, . . . , td un juego completo derepresentantes de las clases q-ciclotomicas contenidas en Dα(C).

Vamos a formar la matriz

L =

1 αt1 α2t1 . . . α(n−1)t1

...1 αtd α2td . . . α(n−1)td

|T |×n

(7.3.1)

Es muy claro que si c ∈ C, visto como coordenadas, Lct = 0, y viceversa.Notese que L no tiene entradas en Fq, ası que no es, en principio matriz de

control; pero vamos a construir una a partir de L.

Page 81: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 80

Consideramos Fqr el cuerpo de escision de g sobre Fq. Ahora, expresamoscada αtk·j como combinacion lineal de una base de Fqr visto como espaciovectorial sobre Fq; es decir, si u1, . . . , ur es una base para Fqr y expresamos

αjtk = αtk·j =∑ri=1 aik(j+1)ui entonces las coordendas son αtk·j =

a1k(j+1)

...ark(j+1)

(despues pasaremos a doble ındice con (i, k, (j + 1)) 7→ ((k− 1)r+ i, (j + 1))).Ahora formamos

L =

1 αt1 α2t1 . . . α(n−1)t1

...

1 αtd α2td . . . α(n−1)td

|T |·r×n

(7.3.2)

Vamos a ver que es matriz de control. Consideremos la k-esima fila. Si c ∈ Ces c = (c0, . . . cn−1) entonces

0 =

n−1∑j=0

αtk·jcj =

n−1∑j=0

(r∑i=1

aik(j+1)ui

)cj =

r∑i=1

ui

n−1∑j=0

aik(j+1)cj

y como los uj son linealmente independientes se tiene el resultado.

7.3.1. Ejemplo. Sean q = 2, n = 15

Las clases 2-ciclotomicas, modulo 15 son

C2(0) = 0, C2(1) = 1, 2, 4, 8, C2(3) = 3, 6, 12, 9, C2(5) = 5, 10,C2(7) = 7, 14, 13, 11

y como 24−1 = 15 consideramos α ∈ F24 una raız 15-ava primitiva de la unidad.Podemos definir codigos cıclicos en F2(15) a partir de conjuntos de definicion.Denotamos con mj el polinomio mınimo de αj en F2. Entonces

C1 = (m1) ≤ F(15), esta determinado por D(C1) = C2(1).

C2 = (m1,m3) ≤ F(15) por D(C2) = C2(1) ∪ C2(3).

Como mi | Xn−1 entonces sus raıces y sus ceros coinciden, luego dimF2 C1 =11 y dimF2 C2 = 7. Finalmente, haciendo las cuentas con un programa informati-co (GAP) se puede comprobar que d(C1) = 3 y d(C2) = 5.

Vamos a trabajar con C1, que tiene dimF2C1 = 11 y d(C1) = 3. La matriz

de control seraL(C1) =

(1 α . . . α(14)

)o bien, en terminos de F2, por lo visto en la Seccion 6.4, con α, raız de m1 =X4 +X3 + 1

Page 82: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 81

L =

1 0 0 0 1 1 1 1 0 1 0 1 1 0 00 1 0 0 0 1 1 1 1 0 1 0 1 1 00 0 1 0 0 0 1 1 1 1 0 1 0 1 10 0 0 1 1 1 1 0 1 0 1 1 0 0 1

Como m1 = g = X4 +X3 + 1 entonces

Xn − 1

g= h = X11 +X10 +X9 +X8 +X6 +X4 +X3 + 1,

de donde la matriz de control de (7.2.6) es

H =

1 1 1 1 0 1 0 1 1 0 0 1 0 0 00 1 1 1 1 0 1 0 1 1 0 0 1 0 00 0 1 1 1 1 0 1 0 1 1 0 0 1 00 0 0 1 1 1 1 0 1 0 1 1 0 0 1

7.4. Codificacion y decodificacion en codigos

cıclicos

Como hipotesis general, supongamos que tenemos un codigo cıclico C ≤F(n) tal que C = 〈g〉, con g el polinomio generador, con gr(g) = r, ası que ladimension dimC = n− r.

Comenzamos con la codificacion. Vamos a ver una decodificacion sistematica.Supongamos que queremos codificar la palabra a = a0 · · · an−r−1.

1. Hacemos a(X) =∑n−r−1i=0 aiX

n−i−1

2. Luego operamos a = gf + s, con gr(s) < r (notese que gr(gf) ≤ n).

3. Finalmente hacemos c = v · G = a − s = gf ∈ C, donde G es la matrizgeneradora en (7.4.1). Esta sera la palabra codificada.

Para decodificar, se puede proceder de la siguiente manera:

Para todo polinomio v ∈ F(n) definimos el sındrome S(v) como el resto dela division de v entre g.

Se considera el conjunto de lıderes L = e ∈ F(n) | ω(e) ≤ t y hacemos latabla de sındromes.

Entonces,

1. Se recibe un vector v ∈ F(n).

2. Se calcula S(v) y se busca en la tabla.

3. Si se cometieron menos de t errores, debera ocurrir que S(v) = S(e), paraalgun e ∈ L.

Page 83: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 82

4. Finalmente, decidiremos que v − e es la palabra que fue enviada.

Podemos reducir drasticamente la tabla si definimos la relacion de equiva-lencia en F(n) dada por f ∼ f ′ si y solo si existe k ∈ N tal que Xkf = f ′. SeaL un juego completo de representantes de los lıderes.

Supongamos ahora que se envıa una palabra c ∈ C y se cometen a lo mast errores de tal manera que c = v − e′, con ω(e′) ≤ t. Entonces, existe un

representante e ∈ L y un entero n > k ≥ 0 tales que Xke′ = e, de dondeS(Xkv) = S(Xk(c+ e′)) = S(Xkc) + S(Xke′) = S(Xke′) = S(e), puesto que

S(Xkc) = 0 al ser Xkc ∈ CAsı, Xkv = Xkc+ e de donde v = c+Xn−ke y finalmente c = v −Xn−ke.Luego procederemos de la siguiente forma.

Se considera el conjunto de representantes de los lıderes L y hacemos lanueva tabla de sındromes.

1. Se recibe un vector v ∈ F(n).

2. Se calcula S(Xkv

), con 0 ≤ k ≤ n− 1 y se busca en la tabla.

3. Si se cometieron menos de t errores, debera ocurrir que S(Xkv

)= S(e),

para algun k ∈ 0, . . . , n− 1 y e ∈ L.

4. Finalmente, decidiremos que v −Xn−ke es la palabra que fue enviada.

Esta decodificacion es claramente una decodificacion por sındrome. Vamos acomprobar que existe una matriz de control cuyos sındromes son precisamentelos restos obtenidos.

Considerese para i = 0, . . . , n−r−1, la expresion Xr+i = gfi+ ti, obtenidoscon el algoritmo de la division. Se puede comprobar facilmente que los Xr+i −ti = gfi son una base para C. Por los grados de los terminos lıderes tenemosindependencia lineal, y por el numero de elementos tenemos que es base.

Ahora, escribimos una matriz generadora. Si ti =∑r−1j=0 ti,jX

j

G =

−t0,0 · · · −t0,r−1 1 0 . . . 0−t1,0 · · · −t1,r−1 0 1 . . . 0

...−tn−r−1,0 · · · −tn−r−1,r−1 0 0 . . . 1

= (−T | I) (7.4.1)

Entonces la matriz de control es H = (I | T t). Vamos a ver que para un

polinomio recibido u =∑n−1i=0 uiX

i se tiene que H(u0, . . . , un−1)t son justo loscoeficientes del resto de la division u = gf + s, para algun polinomio f ∈ F[X],con gr(s) < r.

Escribimos u =∑rj=0 ujX

j+∑n−r−1i=0 ur+iX

r+i. Expresando cada monomio

Xr+i = gfi + ti se tiene que u =∑rj=0 ujX

j +∑n−r−1i=0 ur+i(gfi + ti). De ahı

Page 84: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 83

se tiene que u =∑rj=0 ujX

j +∑n−r−1i=0 ur+iti +

∑n−r−1i=0 ur+igfi y factorizando

g obtenemos u =∑rj=0 ujX

j +∑n−r−1i=0 ur+iti + g

(∑n−r−1i=0 ur+ifi

).

Por la unicidad del algoritmo de la division debe ocurrir que si u = gf + sentonces f =

∑n−r−1i=0 ur+ifi y s =

∑rj=0 ujX

j +∑n−r−1i=0 ur+iti. Finalmente,

como ti =∑r−1j=0 ti,jX

j , factorizando las Xi, podemos ver que∑n−r−1i=0 ur+iti =∑n−r−1

i=0

(∑r−1j=0 ur+iti,jX

j)

=∑r−1j=o X

j(∑n−r−1

i=0 ur+iti,j

)y por tanto s =∑r−1

j=0

(uj +

∑n−r−1i=0 ur+iti,j

)Xj .

Finalmente, se puede comprobar directamente que si escribimos el vectorH(u0, . . . , un−1)t como fila obtenemos

(H(u0, . . . , un−1)t

)t=

(u0 +

n−r−1∑i=0

ur+iti,0, . . . , ur−1 +

n−r−1∑i=0

ur+iti,r−1

)

lo cual demuestra la afirmacion.

7.4.1. Ejemplo. Consideremos el codigo 〈X4+X3+1〉 ⊆ R15 en (7.3.1). Vamosa ver la tabla de representantes de los sındromes. Como C1 corrige un error, latabla de sındromes solo necesita dos elementos, que son

1. e1 = 0.

2. e2 = 1.

Calculamos los sındromes, que vuelven a ser ellos mismos.

Ahora, supongamos que recibimos la palabra v = X6 + X4 + X3 + 1. Em-

pezamos a calcular S(Xkv

). Comprobamos que X9v = x13 + x12 + x9 + 1 =

gX9 + 1, luego S(X9v

)= S(e2) y por tanto, la palabra enviada fue precisa-

mente v −X6e2 = g.

Repetimos lo anterior ahora en terminos de tabla de sındromes de espaciosvectoriales.

7.4.2. Ejemplo. Vamos a calcular las matrices anteriores al codigo de ejemploen (7.3.1). Tenemos que g = X4 + X3 + 1 y ya hemos calculado una matrizgeneradora y una de control. Vamos a ver las nuevas matrices.

En este caso

H = (I | T t) =

1 0 0 0 1 1 1 1 0 1 0 1 1 0 00 1 0 0 0 1 1 1 1 0 1 0 1 1 00 0 1 0 0 0 1 1 1 1 0 1 0 1 10 0 0 1 1 1 1 0 1 0 1 1 0 0 1

Ya hemos visto que como C1 corrige un error, la tabla de sındromes solo

necesita dos elementos; en este caso,

1. (0, 0, 0, 0)

Page 85: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 84

2. (1, 0, 0, 0)

Supongamos, como antes, que la palabra recibida es X6 + X4 + X3 + 1; esdecir, el vector v = (1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0). Vamos a ir permutandolas posiciones de v y multiplicando por H hasta obtener (1, 0, 0, 0). Si llamamosσ a la permutacion cıclica podemos comprobar que Hσ9(v) = (1, 0, 0, 0) esla primera permutacion con la que se obtiene un lıder de peso 1. Ası que lapalabra buscada es c ∈ C tal que σ9(v) + (1, 0, . . . , 0) = σ9(c), de donde c =v + σ6(1, 0, . . . , 0) = (1, 0, 0, 1, 1, 0, . . . , 0).

7.5. Cota BCH y la transformada de Fourierdiscreta

En general, codificar y decodificar en codigos cıclicos es una tarea relativa-mente sencilla y sobre todo, viable. Mucho mas difıcil resulta calcular su distan-cia mınima. Como veremos, algunas familias especiales de codigos se construyenprecisamente para atacar este problema. En general, cuando se obtiene con fa-cilidad algun parametro, otros se complican.

Historicamente, calcular la distancia mınima en codigos cıclicos, o una cotapara ella, ha sido un problema muy estudiado. La mas antigua y clasica detodas las cotas es la llamada cota BCH, cuyo nombre proviene de quienes lapropusieron; a saber, Bose y Chaudhuri, e independientemente Hocquenghem.En esta seccion vamos a estudiarla con la herramienta de la transformada deFourier discreta.

Seguimos conservando toda la notacion. Como siempre, F = Fq un cuerpocon q elementos, n ∈ N con mcd(n, q) = 1 y L|F una extension quie contieneuna raız n-esima primitiva de la unidad; es decir, Un ⊂ L. La primera definicionde la transformada que vamos a dar es mas bien intuitiva.

7.5.1. Definicion. Sea f ∈ F(n) un polinomio arbitrario. La transformadade Fourier discreta (TFD) univariable, tambien conocida como polinomio deMatson-Solomon, respecto de α ∈ Un es el polinomio

ϕα,f = ϕα,f (X) =

n−1∑i=0

f(αi)Xi ∈ L(n)

Es claro que ϕα,f puede no ser un elemento de F(n). Ası que formalmentetenemos que definir

ϕα : L(n)→ L(n) (7.5.1)

y luego buscar criterios para decidir cuando las imagenes o preimagenes pre-tenecen a los anillos que nos interese considerar. Vamos a estudiar entonces laTFD, su naturaleza y sus propiedades.

Page 86: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 85

Considerese la matriz

Φ =

1 1 . . . 11 α . . . αn−1

...1 αn−1 . . . α(n−1)(n−1)

y sea f =

∑n−1i=0 aiX

i ∈ L(n), cualquiera. Entonces, si denotamos el vector de co-

eficientes de f como [f ] = (a0, . . . , an−1) se tiene que Φ[f ]t =(f(1), . . . , f

(αn−1

))t;

es decir, se obtiene el vector de coeficientes de ϕα,f , como coordenadas en labase canonica. Ası que ϕα : L(n) → L(n) es una aplicacion lineal. Vamos aclasificarla.

7.5.2. Lema. En la situacion descrita antes se tiene que Φ es invertible.

Demostracion. Por la forma de la matriz, tenemos un determinante de Vander-monde,

|Φ| =∏i<j

0≤ i,j<n

(αj − αi

)y como αj − αi 6= 0 para todo i < j entonces el determinante es distinto de 0 ypor tanto la matriz es invertible.

Pero podemos ir un poco mas lejos. Vamos a exhibir su inversa. Se afirmaque

Φ−1 =1

n

1 1 . . . 11 β . . . βn−1

...1 βn−1 . . . β(n−1)(n−1)

donde β = α−1. (7.5.2)

Esto se puede comprobar directamente

1

n

1 1 . . . 11 α . . . αn−1

...1 αn−1 . . . α(n−1)(n−1)

1 1 . . . 11 β . . . βn−1

...1 βn−1 . . . β(n−1)(n−1)

=

1

n

n

∑n−1i=0 β

i . . .∑n−1i=0 β

(n−1)i∑n−1i=0 α

i n . . .∑n−1i=0 β

(n−2)i

...∑n−1i=0 α

(n−1)i∑n−1i=0 α

(n−2)i . . . n

=

1

n

n 0 . . . 00 n . . . 0

...0 0 . . . n

,

Page 87: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 86

ya que, en general, si γ es una raız n-esima de la unidad, se tiene que∑n−1i=0 γ = 0.

Por tanto, ϕα : L(n)→ L(n) es un isomorfismo y la inversa tiene la regla decorrespondencia siguiente, para g ∈ L(n),

ϕ−1α,g(X) =

1

n

n−1∑i=0

g(α−i

)Xi. (7.5.3)

Pero queremos ver si es isomorfismo de algebras. Para ello, evaluamos ϕα,fg =∑n−1i=0 (fg)

(α−i

)Xi =

∑n−1i=0 f

(α−i

)g(α−i

)Xi, de donde observamos que no

sera multiplicativa con el producto de polinomios; es decir, ϕα : L(n) → L(n)no es isomorfismo de algebras, pero claramente sı lo sera respecto del productocoordenada a coordenada.

Vamos entonces a cambiar la estructura del codominio. Denotamos (Ln, ?)a los polinomios (o sus vectores de coordenadas) junto con el producto

n−1∑i=0

aiXi ?

n−1∑i=0

biXi =

n−1∑i=0

(aibi)Xi.

Se puede comprobar directamente que ϕα : L(n) → (Ln, ?) es isomorfismode algebras, con la inversa como fue obtenida. Con esto probamos el siguienteteorema.

7.5.3. Teorema. Sea F = Fq y L el cuerpo de escision de Xn−1 en F[X], conα ∈ L una raız n-esima primitiva de la unidad.

La transformada de Fourier discreta ϕα : L(n)→ (Ln, ?) es un isomorfismode algebras.

Notese que si f =∑n−1i=0 aiX

i entonces ai = 1nϕα,f

(α−i

)de lo cual se

desprende que si hacemos z = |Z(ϕα,f )| entonces ω(f) = n − z. Los cerospueden estar muy lejos de ser reflejados en el grado de la transformada, perocorresponden al maximo comun divisor, mcd(ϕα,f , x

n−1) que denotaremos mf .Entonces z = gr(mf ) y ası ω(f) = n− gr(mf ).

7.5.4. Ejemplos. Hacemos q = 2 y n = 15. Ya conocemos la descomposicion

de x15− 1 = x42−1X−1 de la Seccion 6.4 que tiene las construcciones de F24 . Vamos

a usar la primera de ellas; es decir,

X15 −X = (X + 1)(X2 +X + 1

) (X4 +X3 + 1

·(X4 +X + 1

) (X4 +X3 +X2 +X + 1

)y

F24 =a1 + a2β + a3β

2 + a4β3 | ai ∈ F2; β4 + β3 + 1 = 0

.

Hacemos f =(X4 +X3 + 1

) (X4 +X3 +X2 +X + 1

)= x8+x4+x2+x+1

y g = Φ5 = X4 +X3 +X2 +X + 1.

Page 88: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 87

Vamos a comprobar que ω(f) ≥ 15 − gr(ϕβ,f ) y que ω(f) = n − gr(mf ).Comenzamos calculando ϕβ,f . Para ello tenemos que evaluar f

(βi)

para i =0, . . . , n− 1. Por ejemplo, usando la tabla completa de la Seccion 6.4

f(1) = 1 + 1 + 1 + 1 + 1 = 1.

f(β) = β8 + β4 + β2 + β + 1 = β3 + β2 + β + 1 + β3 + β2 + β + 1 = 0.

y ası obtenemos ϕβ,f = x14 + x13 + x11 + x10 + x7 + x5 + 1. De aquı podemosdeducir, por ejemplo, que f es idempotente en F(15) ¿por que?

Ahora mcd(ϕβ,f , x15 − 1) = x10 + x9 + x8 + x6 + x5 + x2 + 1. Notese que

mcd(ϕβ,f , x15 − 1) = x10 · ϕβ,f .

De aquı salen los calculos.Pasamos a comprobar que ω(g) ≥ 15− gr(ϕβ,g) yω(g) = 15 − gr(mg). Comenzamos calculando ϕβ,g evaluando, como antes,

g(βi)

para i = 0, . . . , n− 1. Por ejemplo, aquı

g(1) = 1 + 1 + 1 + 1 + 1 = 1.

g(β) = β4 + β3 + β2 + β + 1 = β2 + β = β13.

y ası obtenemos ϕβ,f = β9x14 +β3x13 +β6x11 +β5x10 +β14x8 +β12x7 +β10x5 +β7x4 + β11x2 + β13x+ 1.

Ahora mcd(ϕβ,g, x15 − 1) = x10 + β9x9 + β4x8 + β9x7 + β8x6 + β11x5 +

β4x4 + βx3 + β7x2 + β8x+ β11.A partir de aquı podemos comprobar.

7.5.5. Observacion. Sea g ∈ L(n), visto como polinomio (con gr(g) ≤ n− 1).Se afirma que, para cualquier h ∈ 0, . . . , n− 1, se tiene la igualdad

mcd(g,Xn − 1) = mcd(Xhg,Xn − 1).

Efectivamente, primero notese que como Xh y Xn−1 son polinomios coprimos,cualquier valor de h nos dara el mismo resultado. Hacemos M1 = mcd(g,Xn−1)y M2 = mcd(Xhg,Xn−1). Como M1 | g entonces M1 | Xhg de donde M1 |M2.Recıprocamente, como M2 y Xh son coprimos se tiene que M2 | g, de dondeM2 |M1.

La version clasica del siguiente resultado se puede consultar, entre otros, en[7].

7.5.6. Teorema [Cota BCH]. Sea p un numero primo y n un numero naturalcoprimo con p. Sea q una potencia de p, F el cuerpo con q elementos y L el cuerpode descomposicion de Xn − 1 en F[X], con α ∈ L una raız n-esima primitivade la unidad.

Sea C un codigo en F(n) tal que b, b + 1, . . . , b + (δ − 2) ⊆ Dα(C), paraalgun entero b. Entonces d(C) ≥ δ.

Demostracion. Sea f ∈ C, arbitrario. Sabemos que Dα(C) ⊆ Dα(f), luego

f(αb+i) = 0 para todo i = 0, . . . , δ − 2. Hacemos ϕα,f (X) =∑n−1i=0 giX

i, y setiene que gb = · · · = g

b+(δ−2)= 0.

Page 89: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 88

Por la Observacion 7.5.5

mcd(ϕα,f , Xn − 1) = mcd(Xhϕα,f , X

n − 1) = mcd(Xhϕα,f , Xn − 1),

para todo h = 0, . . . , n− 1, ası que ϕα,f , Xhϕα,f y Xhϕα,f tienen exactamentelos mismos ceros y no ceros. Hacemos h = n − b − δ + 1, ası que el gradogr(Xhϕα,f ) ≤ h+ b− 1, y de aquı, n− gr(Xhϕα,f ) ≥ n− h− b+ 1 = δ.

Ahora, tenemos que ω(f) = n− z, siendo z = |Z(ϕα,f )| = |Z(Xnϕα,f |, porlo que z ≤ gr(Xnϕα,f ). Entonces ω(f) ≥ n− gr(Xnϕα,f ) ≥ δ para todo f ∈ Cy ası, d(C) ≥ δ.

7.5.7. Definicion. En la situacion del teorema anterior, al numero δ se lellama (una) cota BCH del codigo C.

7.5.8. Ejemplo. Sea n = 41 y q = 2. Las clases 2-ciclotomicas son C2(0),C2(1) y C2(3). Fijado α ∈ Un, tomamos el codigo cıclico C cuyo conjuntode definicion es Dα(C) = C2(1). Algunas cotas BCH para C con respecto deα son δ1 = 3 si consideramos 1, 2 ⊂ Dα(C); y δ2 = 4 si consideramos 8, 9, 10 ⊂ Dα(C). Ahora vamos a considerar Dβ(C) = 3 · Dα(C) = C2(3)y calculamos sus correspondientes cotas BCH. Al final encontramos δ3 = 6 siconsideramos 11, 12, 13, 14, 15 ⊂ Dβ(C).

Ası que las cotas BCH tambien dependen de la eleccion de una raız n-esimaprimitiva de la unidad. Luego es necesario considerar todas las posibles elec-ciones de esta, lo cual nos dara diferentes conjuntos de definicion. Supongamosque Cq(a1), . . . , Cq(ah) son todas las clases q-ciclotomicas modulo n. Fijamosahora un juego completo de representantes A = a1, . . . , ah . Supongamosque elegimos α ∈ Un y obtenemos el conjunto de definicion Dα(C). Queremosidentificar los elementos β ∈ Un que verifiquen que Dβ(C) 6= Dα(C). Ya queDβ(C) = Dβq (C) para todo β ∈ Un, se tiene que Dβ 6= Dα implicara queβai = α, para algun representante ai ∈ A tal que mcd(n, ai) = 1. En este ca-so, se ve que Dβ(C) = ai · Dα(C), donde la multiplicacion tiene el significadoevidente. Denotaremos por On(q) al orden multiplicativo de q modulo n. ComoOn(q) = |Cq(ai) | para cualquier representante ai ∈ A que sea coprimo con n,

tendremos que considerar a lo sumo φ(n)On(q) conjuntos de definicion diferentes.

Claramente, para cualquier codigo cıclico C existe el maximo de sus cotasBCH, que denotaremos por ∆(C). A veces se le llama la cota BCH (inferior) delcodigo. En el ejemplo anterior se tiene ∆(C) = 6, que tambien se puede obtenercon [7, Corollary 7.6.9] (esta ultima afirmacion se deja como ejercicio).

7.6. Distancia aparente y cota BCH

7.6.1. Definicion. Sea L un cuerpo. Para cualquier elemento g ∈ L(n) defini-mos la distancia aparente de g, que denotaremos por d∗(g), como sigue:

i) Si g = 0 entonces d∗(0) = 0.

Page 90: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 89

ii) Si g 6= 0 entonces

d∗(g) = maxn− gr(Xhg) | 0 ≤ h ≤ n− 1

.

7.6.2. Proposicion. Supongamos que tenemos g =∑aiX

i ∈ L(n). Asocia-mos al polinomio su matriz de coeficientes M(g) = (a1 · · · an−1). Entonces ladistancia aparente d∗(g) es la longitud de la mayor cadena de ceros consecutivos(modulo n) en M(g) mas 1.

Demostracion. Queremos probar que

d∗(g) = maxn− gr(Xhg) | 0 ≤ h ≤ n− 1 = |C |+ 1

siendo C la mayor cadena de entradas nulas consecutivas en M(g).Vamos a probar un resultado un poco mas fuerte, en dos partes.

1. Para todo h ∈ 0, . . . , n− 1 existe una cadena Ch tal que

|Ch |+ 1 = n− gr(Xhg).

2. Si C es cualquier cadena de entradas nulas consecutivas en M(g), existeh ∈ 0, . . . . . . , n− 1 tal que

|C |+ 1 = n− gr(Xhg)

Sea g =∑n−1i=0 giX

i. Para probar (1), consideramos h ∈ 0, . . . , n − 1 y

tenemos entonces que Xhg =∑n−1i=0 giX

i+h.Ahora tomamos i0 como el ındice tal que h+ i0 = n, de forma que

Xhg = gi0 + gi0+1X + · · ·+ gi0+δXδ

es decir, δ = gr(Xhg). Por lo tanto, gi0+δ+1 = · · · = gi0+(n−1)

= 0. Tomaremos

entonces esta cadena de ceros como Ch. En vista de que i0 + δ + 1 = i0 + δ + 1e i0 + (n− 1) = i0 + (n− 1), la longitud sera (n− 1)− (δ + 1) + 1 = n− δ − 1

por tanto |Ch| = n− δ − 1 y ası n− gr(Xhg) = |Ch|+ 1.Para la demostracion de (2), sea C una cadena de entradas nulas consecutivas

cuya longitud es |C | = δ. Sea i0 el ındice en el que comienza la cadena de ceros,es decir, gi0 = gi0+1 = . . . = gi0+δ−1 = 0.

Queremos la igualdad h + i0 + δ = n, ası que tomamos h = n− (i0 + δ) y

obtenemos que gr(Xhg) = h+ i0 − 1. De aquı se sigue

gr(Xhg) = n− (i0 + δ) + i0 − 1 = n− (i0 + δ) + i0 − 1 = n− δ − 1 = n− δ− 1

de donden− gr(Xhg) = δ + 1 = |C|+ 1.

Page 91: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 90

7.6.3. Ejemplo. Sea f = 1 +X +X4 ∈ F2(5). Calculamos

X0g = 1 +X +X4

Xg = 1 +X +X2

X2g = X +X2 +X3

X3g = X2 +X3 +X4

X4g = 1 +X3 +X4

Entonces d∗(g) = 5 − gr(Xg) = 3. Si lo hacemos bajo el punto de vista dela matriz tenemos que M(g) = (1 1 0 0 1), por lo que d∗(g) = 2 + 1 = 3.

Sean f ∈ F(n) un polinomio arbitrario y ϕα,f = g ∈ L(n). Ya comentamosen la demostracion del Teorema de la Cota BCH (Teorema 7.5.6) que para

cualquier h ∈ 0, . . . , n − 1, los polinomios g y Xhg tienen exactamente el

mismo conjunto de ceros, por lo que gr(Xhg) ≥ |Dα(g)|, donde Dα(g) es elconjunto de definicion de g, mencionado anteriormente. Por la definicion de lainversa de la transformada de Fourier, tenemos que ω(f) = n− |Dα(g)|. Por lotanto,

d∗(ϕα,f ) ≤ ω(f), para todo f ∈ F(n) y α ∈ Un. (7.6.1)

Esto significa que el mınimo de las distancias aparentes de las imagenesde todas las palabras codigo de un codigo cıclico es una cota inferior para sudistancia mınima. La definicion de Camion [4] de distancia aparente de un codigoabeliano proviene de estas ideas. En nuestro caso, definiremos distancia aparentede un codigo cıclico C en F(n) como sigue

7.6.4. Definicion. Sea C un codigo cıclico en F(n) y α ∈ Un. La distanciaaparente de C respecto de α es

d∗α(C) = mınc∈Cd∗(ϕα,c)

y la distancia aparente de C sera

d∗(C) = maxα∈Un

d∗α(C).

El conjunto de raıces optimizadas de C es

R(C) =β ∈ Un | d∗β(C) = d∗(C)

.

En [4] se muestra que para cualquier codigo cıclico C, d∗(C) = ∆(C), por loque la distancia aparente es una cota inferior para su distancia mınima.

Vamos a ver caminos practicos para calcular la distancia aparente. SeanCq(a1), . . . , Cq(ah) todas las clases q-ciclotomicas modulo n y fijamos un con-junto de representantes a1, . . . , ah. Definimos el conjunto

A(n) = ai | mcd(ai, n) = 1 (7.6.2)

Page 92: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 91

y para α ∈ Un, definimos

Rα = β ∈ Un | βa = α, a ∈ A(n) . (7.6.3)

Es claro que, fijado Rα, para calcular la distancia aparente de un codigocıclico C en F(n) solo tenemos que calcular

d∗(C) = maxd∗β(C) | β ∈ Rα

.

Sean e, g ∈ C el idempotente generador y el polinomio generador de C,respectivamente. Sabemos que para cualquier c ∈ C y cualquier β ∈ R, tenemosque supp(ϕβ,c) ⊆ supp(ϕβ,g) = supp(ϕβ,e); ası que, d∗(ϕβ,g) = d∗(ϕβ,e) ≤d∗(ϕβ,c). Por lo tanto,

7.6.5. Teorema. Con la notacion del parrafo anterior, se tiene que

∆(C) = d∗(C) = d∗(ϕβ,e) ≤ d(C) ∀β ∈ R(C).

Recordemos que, dada una extension K|F y α ∈ K, se denota como mα elpolinomio mınimo de α sobre F (vease el Teorema 6.2.7).

7.6.6. Ejemplo. Sea q = 2, n = 17, α ∈ U17 y A(n) = 1, 3 . Conside-ramos el codigo cıclico C cuyo conjunto de definicion es Dα(C) = C2(1) = 1, 2, 4, 8, 9, 13, 15, 16 respecto de α ∈ U17, digamos mα = X8+X7+X6+X4+X2+X+1. Entonces e = X16+X15+X13+X9+X8+X4+X2+X+1 es el idem-potente generador de C, y M(ϕα,e) = (1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0).Por tanto, d∗(ϕα,e) = 3. Ahora, tomando β de forma que β3 = α, comprobamosque d∗(ϕβ,e) = 4. Concluyendo al final que ∆(C) = d∗(C) = d∗(ϕβ,e) = 4.

Como consecuencia inmediata del Teorema 7.6.5 tenemos el siguiente coro-lario.

7.6.7. Corolario. Sea C un codigo cıclico en F(n) con idempotente generadore ∈ C y sea α cualquier raız n-esima primitiva de la unidad. Si d∗(ϕα,e) = ω(e)entonces d(C) = ∆(C) y α ∈ R(C).

Demostracion. Por hipotesis, d∗(ϕα,e) = ω(e) ≥ d(C). Ahora, si β ∈ R(C)se tiene que d∗(ϕα,e) ≤ d∗(ϕβ,e) y por tanto a partir de (0,2,2) se obtiene elresultado.

Vamos a ver como estos resultados se utilizan para construir y calcular ladistancia aparente (o la cota BCH) de codigos cıclicos. Para cualquier idem-potente e2 = e ∈ F(n), asociamos el vector ϕα,e ∈ Ln, donde α ∈ Un. Comoϕα,e es un idempotente en (L, ?), tenemos que ϕα,e(α

i) = 0 si i ∈ Dα(C) y 1en otro caso. Ası que, si tenemos esto en mente, en nuestro contexto, cualquiercodigo cıclico tiene un idempotente generador unico, y para construir un codigocıclico en F(n) comenzaremos listando las distintas clases q-ciclotomicas modulon, Cq(a1), . . . , Cq(ah), con h ∈ N. Ahora para cada eleccion D = ∪tj=1Cq(aij ),con ij ∈ 1, . . . , h y 1 ≤ t ≤ h, el vector FD ∈ Fn tal que FD(i) = 0 si i ∈ Dy 1 en otro caso, puede verse como la imagen, bajo la transformada de Fouriercon respecto a un α ∈ Un (arbitrario y prefijado), del idempotente generador de

Page 93: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 7. CODIGOS CICLICOS 92

un codigo cıclico C en F(n), tal que D = Dα(C). Para calcular la distancia apa-rente d∗(C), como ya hemos visto, consideramos primero A(n) = ai1 , . . . , aik,entonces si llamamos Dβj (C) = aij ·Dα(C) (es decir, β

aijj = α), se tiene que la

distancia aparente para cada ϕβj ,e es la longitud de la mayor cadena de cerosconsecutivos (modulo n) en FDβj (C) mas 1. Finalmente, d∗(C) sera el maximo

de los valores de d∗(ϕβj ,e), con j = 1, . . . , k.

7.6.8. Ejemplo. Sea n = 21, q = 2 y A(21) = 1, 5 . Las clases 2-ciclotomi-cas son C2(0) = 0, C2(1) = 1, 2, 4, 8, 16, 11, C2(3) = 3, 6, 12, C2(5) =5, 10, 20, 19, 17, 13, C2(7) = 7, 14 y C2(9) = 9, 18, 15. Elegimos D =C2(1) ∪ C2(3) ∪ C2(7). Entonces,

FD = (1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1)

Sea C el codigo cıclico tal que Dα(C) = D para algun α ∈ C. Entoncesd∗(ϕα,e) = 5. Ahora para Dβ(C) = 5 · Dα(C) = C2(5) ∪ C2(9) ∪ C2(7) (to-mando β5 = α) tenemos

FDβ (C) = (1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0)

De forma que d∗(ϕβ,e) = 5 tambien. Por lo tanto d∗(C) = 5 y R(C) = 1, 3.Como vemos tiene cuatro cotas BCH, δ = 2, 3, 4, 5.

Page 94: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Capıtulo 8

Codigos clasicos que serealizan como codigoscıclicos

8.1. Codigos de Hamming

Recordemos la definicion de codigo de Hamming.Hq,r tiene matriz de control

Hq,r =

(de cada subespacio de dimension 1 de Fqrtomo un vector y lo pongo como columna

)y sabemos que hay exactamente qr−1

q−1 .

8.1.1. Observacion. Sea H una matriz tal que

H =(H1 · · ·H qr−1

q−1

)[r× q

r−1q−1 ]

.

Si las columnas son linealmente independientes 2 a 2 entonces H es la matriz

de control de un codigo de Hamming, un[qr−1q−1 ,

qr−1q−1 − r, 3

]-codigo.

8.1.2. Teorema. Todo codigo de Hamming Hq,r, con mcd(r, q − 1) = 1 escıclico

Demostracion. Hacemos n = qr−1q−1 . Vamos a ver primero que Fqr es el cuerpo

de escision de Xn − 1 sobre Fq.Supongamos que Fqt es el cuerpo de escision. Entonces el orden multiplica-

tivo Or(q) = t, ası que t | r, pues n | qr − 1. De aquı, ya tenemos que t ≤ r.

Ahora bien, como n = qr−1q−1 = 1 + · · · + qr−1, se tiene que qr−1

q−1 > qr−1 − 1 y

como n | qt − 1, se tiene que qr−1 − 1 < qr−1q−1 ≤ qt − 1, de donde r − 1 < t y

como t ≤ r ya se tiene que t = r.

93

Page 95: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 8. CODIGOS CICLICOS CLASICOS 94

Ahora, sea α una raız n-esima primitiva de la unidad en Fqr y consideresela matriz

L =(1 α · · · α(n−1)

)y expresemos esos elementos como se hizo en la Seccion 7.3 de los ceros, viendoFqr como Fq espacio vectorial,

H =(

1 α · · · α(n−1)

)Notese que Frq tiene exactamente n-subespacios de dimension 1 y como ese

es precisamente el numero de columnas de H, basta ver que cualesquiera doscolumnas son l.i. para saber que H es matriz de codigo de Hamming.

Supongamos que aαi = αj , con 0 ≤ i, j < n. Entonces aα(i−j) = 1, ası que(aα(i−j))(q−1)

= 1. Pero a ∈ Fq, luego aq−1 = 1, ası que α(i−j)(q−1) = 1, dedonde n | (i− j)(q − 1). Queremos ver que n | (i− j).

Se afirma que mcd(n, q−1) = 1. Consideremos la expresion n = 1+· · ·+qr−1

y sea l un divisor positivo de q− 1. Entonces, se tienen igualdades lui = qi − 1,con ui enteros positivos para todo i = 1, . . . , r−1, luego n = 1+(lu1 +1)+ · · ·+(lur + 1) = l

(∑r−1i=1 ui

)+ r. Asi, si l | n entonces tambien l | r, pero l | (q − 1)

y mcd(q − 1, r) = 1 y por tanto l = 1. Por tanto n | (i− j), de donde i = j.

Entonces, para construir codigos de Hamming partimos de un F = Fq y

elegimos r un entero positivo coprimo con q − 1. Hacemos n = qr−1q−1 y esa es la

longitud. Ademas, la dimension sera n − r y la distancia mınima sera 3, comodebe.

Si Fqr es el cuerpo de escision de Xn−1 y ξ es un elemento primitivo de Fqrentonces, hacemos α = ξ(q−1) para construir la matriz de control. Finalmente¿quien es Dα (Hq,r)? Es la q-clase ciclotomica Cq−1, modulo n. En este sentido,los codigos de Hamming son maximales.

8.1.3. Ejemplo. Hacemos q = 2, r = 4, n = qr−1q−1 = 24 − 1 = 15. Entonces

dimF2(H2,4) = 11 y d(H2,4) = 3. En este caso D(H2,4) = 1, 2, 4, 8 = C1.

8.1.4. Ejemplo. Ahora consideramos H3,2, entonces n = 4. Como mcd(r, q −1) = 2 no podemos garantizar que haya codigos de Hamming cıclicos (puescodigos de Hamming siempre hay). Tendrıan que ser (4, 2, 3) codigos ternarios.Vamos a ver todos los codigos cıclicos que hay. Todas las clases 3-ciclotomicas,modulo 4 son C0 = 0, C1 = 1, 3 y C2 = 2. Los unicos codigos posiblesserıan aquellos D(H) = 0, 2 o bien D(H) = 1, 3. Ninguno de los dos tienedistancia mınima 3. Eso se tiene que comprobar directamente.

Page 96: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 8. CODIGOS CICLICOS CLASICOS 95

8.2. Codigos BCH

El nombre viene de Bose, Ray-Chandhuri y Hocquengheim. En estos codigoscıclicos se buscan una longitud y una distancia designadas.

Vamos a recordar algunos hechos y notacion anteriores. En primer lugar,consideramos el anillo F(n) y el conjunto Un de las raıces n-esimas primitivasde la unidad.

Sean Cq(a1), . . . , Cq(ah) todas las clases q-ciclotomicas modulo n. Si fijamosα ∈ Un y denotamos por Rα = β ∈ Un | βai = α , mcd(ai, n) = 1 , se tieneque

d∗β(C) = mınc∈Cd∗(ϕβ,c)

d∗(C) = maxd∗β(C) | β ∈ Rα

.

Finalmente, recordemos que R(C) = β ∈ Un | d∗(ϕβ,c) = d∗(C) y lasigualdades del Teorema 7.6.5

∆(C) = d∗(C) = d∗(ϕβ,e) ≤ d(C) ∀β ∈ R(C)

Comenzamos con la definicion de codigo BCH.

8.2.1. Definicion. Sea α ∈ Un y C un codigo en F(n) con polinomio generadorg. Decimos que C es un codigo BCH con distancia designada δ si existe b ∈ Z talque g es el polinomio de grado mınimo con

αb+j | j = 0, . . . , δ − 2

⊆ Z(C).

O bien, g = mcm (mαb , . . . ,mαb+δ−2). Lo denotaremos por C = Bq(n, δ, α, b).

1. En el caso b = 1, el codigo se llama BCH en sentido restringido (narrowsense) y se omite el ultimo parametro, es decir, se escribe Bq(n, δ, α)

2. Si α es un elemento primitivo de Fqr , diremos entonces que el codigo esBCH primitivo. Notese que esto ocurre si y solo si n = qr − 1.

Trivialmente, todo codigo de Hamming es BCH (primitivo y restringido),con parametros b = 1, δ = 2, d ≥ 2.

Equivalentemente, C es un codigo BCH de distancia designada δ si para todaclase q-ciclotomica Q ⊆ Dα(C), entonces Q ∩ b, . . . , b+ δ − 2 6= ∅.

Lo anterior implica directamente que C es el codigo cıclico con mayor di-mension tal que su conjunto de ceros verifica la inclusion mencionada antes.

8.2.2. Definicion. La distancia de Bose para un codigo BCH, C = Bq(n, α, δ, b)se define como el mayor δ′ tal que C = Bq(n, α

′, δ′, b′), para algun b′ ∈ 0, . . . , n−1 y algun α′ ∈ Un.

Notese que para un codigo BCH, puede ocurrir que su distancia de Bose seamenor que ∆(Bq(n, α, δ, b)), tal y como mostrara el siguiente ejemplo.

8.2.3. Ejemplo. Tomamos q = 2, n = 21 y fijamos α ∈ U21 tal que mα =X6 +X5 +X4 +X2 + 1. Sea C = B2(21, α, 4, 15) el codigo cıclico generado por

mcm mα,mα3 ,mα7 .

Page 97: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 8. CODIGOS CICLICOS CLASICOS 96

Consideramos las clases 2-ciclotomicas modulo 21. Entonces se puede comprobarque el conjunto de definicion del codigo C es Dα(C) = C2(1)∪C2 ∪ (3)C2 ∪ (7).Tambien podemos considerar el elemento β ∈ U21 tal que β5 = α, y entoncesDβ(C) = 5 ·Dα(C) = C2(5)∪C2 ∪ (7)∪C2 ∪ (9). Se puede ver que la distanciade Bose es δ = 4, considerando 6, 7, 8 ⊂ Dα(C) y 13, 14, 15 ⊂ Dβ(C). Sinembargo, ∆(C) = 5, porque 1, 2, 3, 4 ⊂ Dα(C) y 17, 18, 19, 20 ⊂ Dβ(C).Pero 1, 2, 3, 4 ⊂ C2(1) ∪ C2(3) y 17, 18, 19, 20 ⊂ C2(5) ∪ C2 ∪ (9), ası queC no puede ser un codigo BCH con distancia designada δ = 5. Por lo tanto, ladistancia de Bose es menor que el maximo de todas las posibles cotas BCH (osimplemente, la cota BCH), ∆(C).

8.2.4. Observacion. En un codigo BCH (con cota BCH maxima) restringido(b = 1), C generado por g, podemos asegurar que 1 no es raız de g ya que δ < nimplica que 1 + δ − 2 = δ − 1 = n− 1. Luego αi 6= 1 para todo i = 1, . . . , δ − 1.

Ademas, el codigo generado por (1 −X)g es el subcodigo cıclico de las pa-labras de tipo par de C, que obviamente, tambien es un codigo BCH; de hecho,es Bq(n, δ + 1, α, 0).

Como consecuencia del Teorema de la Cota BCH (7.5.6) se tiene.

8.2.5. Corolario. d (Bq (n, δ, α, b)) ≥ δ, siempre.

8.2.6. Teorema. Sea C = Bq (n, δ, α, b) un codigo BCH, donde On(q) = r; esdecir, n | qr − 1 y r, el primero. Entonces dimFq C ≥ n− r(δ − 1).

Demostracion. Inmediato de la definicion de codigo BCH y de (6.5.15) y (6.5.16).

8.2.7. Ejemplo. Consideremos los codigos BCH binarios y restringidos de or-den 31; es decir, B2(31, δ, α). Puede recorrer 2 ≤ δ ≤ 29.

Para determinar los codigos primero consideramos las clases 2-ciclotomicasmodulo 31. Estas son:

C0 = 0C1 = 1, 2, 4, 8, 16C3 = 3, 6, 12, 24, 17C5 = 5, 10, 20, 9, 18C7 = 7, 14, 28, 25, 19C11 = 11, 22, 13, 26, 21C15 = 15, 30, 29, 27, 23

Para calcular los datos se procede ası:

1. Se determina la distancia deseada. Por ejemplo, 9.

2. Se hace la lista b, . . . , b+ (δ− 2); por ejemplo, b = 1 y δ = 9, y con estalista se hacen las dos siguientes cosas.

3. Se establece el conjunto de definicion. En este caso formado por las clasesq-ciclotomicas C1, C3, C5 y C7.

Page 98: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 8. CODIGOS CICLICOS CLASICOS 97

4. Se establece la dimension que es n |D(C)| involucrados. En este caso, 31−20 = 11.

5. El ultimo calculo de la tabla siguiente es “hecho a mano”.

Tomando α una raız 31-esima primitiva de la unidad se tiene

δ g(X) Ci involucradas dimF2 C ω(C)

1 mα0 C0 31 13 mα C1 26 35 mαmα3 C1, C3 21 57 mαmα3mα5 C1, C3, C5 16 79 y 11 mαmα3mα5mα7 C1, C3, C5, C7 11 1113 y 15 mαmα3mα5mα7mα9 C1, C3, C5, C7, C9 6 1517, . . . , 31 X31 − 1 C1, . . . , C15 1 31

Como se puede apreciar, un codigo BCH puede interpretarse con distintosparametros; de ahı la idea de distancia de Bose (8.2.2).

Page 99: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

CAPITULO 8. CODIGOS CICLICOS CLASICOS 98

8.3. Codigos de Reed-Solomon

Son un caso particular de codigos BCH; de hecho, son un caso particular decodigos BCH primitivos.

8.3.1. Definicion. Un codigo de Reed-Solomon es un BCH sobre Fq, donden = q − 1.

8.3.2. Observaciones.1. Como n = q − 1 entonces Fq es cuerpo de escision para Xn − 1; ası que

solo hay factores lineales o, dicho en terminos de clases q-ciclotomicas, todas lasclases q ciclotomicas tienen orden 1.

2. Por lo anterior, si g es el polinomio generador entonces g =∏b+δ−2i=b (X −

αi) y por tantodimC = n+ 1− δ.

3. Si C es un RS-codigo entonces C⊥ tambien lo es. Esto se desprende delhecho de que las clases ciclotomicas solo tienen un elemento y no hay conju-gados mas que uno mismo. Esto significa que si los ceros de C contienen aαb, αb+1, . . . , αb+δ−2

entonces ya son todos. Luego los inversos de los no

ceros sonα−(b+δ−1), . . . , α−(b−1)

que es otra vez una lista de potencias con-

secutivas (puestas de forma decreciente), modulo n. Se invierte la lista y punto.4. Hemos visto que dimC = n + 1 − δ, luego δ = n + 1 − dimC; ası que

d(C) ≥ δ = n+1−dimC, pero la cota de Singleton nos dice que d ≤ n+1−dimC,de donde se tiene la igualdad y por tanto es un codigo MDS.

Page 100: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

Bibliografıa

[1] J. Adamek, Foundations of Coding, Wiley, Chichester, 1991.

[2] J. J. Bernal, D. H. Bueno-Carreno, J. J. Simon, A characterization ofcyclic codes whose minimum distance equals their maximum BCH bound,Proceedings ACA 2013, Malaga, 109–113.

[3] R. E. Blahut, Decoding of cyclic codes and codes on curves, en V. Pless yW.C. Huffman (eds.), Handbook of Coding Theory, vol. 2, Elsevier, Ams-terdam, 1998.

[4] P. Camion, Abelian Codes, MRC Tech. Sum. Rep. 1059, Univ. of Wiscon-sin, Madison, 1970.

[5] H. Fripertinger. Enumeration of the semilinear isometry classes of linearcodes, en A. Kerber y A. Kohnert, ed., ALCOMA’05, Proceedings of theConference on Algebraic Combinatorics and Applications, Designs andCodes, Thurnau, Germany, 2005. Bayreuth. Math. Schr., vol. 74, p. 100–122, 2005.

[6] W.C. Huffman y V. Pless, Fundamentals of Error Correcting Codes, Cam-bridge, 2003.

[7] F. J. Maswilliams y N. J. A. Sloane, The Theory of Error-CorrectingCodes, North-Holland, Amsterdam, 1986 (5a impresion).

[8] C. Munuera y J. Tena, Codificacion de la Informacion, Universidad deValladolid, 1997.

[9] V. Pless, Introduction to the Theory of Error-Correcting Codes, Wiley,1982.

[10] O. Pretzel, Codes and Finite Fields, Clarendon, 1992.

[11] J. Rifa y Ll. Huguet, Comunicacion Digital, Masson, 1991.

[12] Derek J. S. Robinson, A Course in the Theory of Groups, Springer, NuevaYork, 1996.

[13] S. Roman, Coding and Information Theory, Springer, Nueva York, 1992.

99

Page 101: Apuntes 2018-2019 Grado C odigos correctores de errores · 2018-10-25 · Cap tulo 1 Informaci on y c odigos 1.1. La transmisi on de la informaci on La transmisi on de la informaci

BIBLIOGRAFIA 100

[14] S. Roman, Introduction to Coding and Information Theory, Springer,1992.

[15] S. Sakata, Finding a minimal set of linear recurring relations capable ofgenerating a given finite two-dimensional array, J. Symbolic Computation,5 (1988), pp. 321–337.

[16] J. H. van Lint, Introduction to Coding Theory, Springer, Nueva York, 1982.