A Pun Tesco Dig Os Master Completo
A Pun Tesco Dig Os Master Completo
Indice general
1. Informaci
on y c
odigos
1.1. La transmisi
on de la informacion . . . . .
1.2. Medida de la incertidumbre y de la
informaci
on . . . . . . . . . . . . . . . . .
1.3. Capacidad de un canal con interferencias .
1.4. C
odigos correctores de errores . . . . . . .
1.5. Teorema de Shannon . . . . . . . . . . . .
. . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
9
14
19
22
2. Generalidades sobre C
odigos
25
2.1. Conceptos b
asicos . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Equivalencia y automorfismos de codigos . . . . . . . . . . . . . . 32
2.3. Construcci
on de c
odigos a partir de otros . . . . . . . . . . . . . 32
3. C
odigos lineales
3.1. Conceptos b
asicos . . . . . . . . . . . .
3.2. C
odigos duales u ortogonales . . . . . .
3.3. Pesos y distancias . . . . . . . . . . . .
3.4. Codificaci
on y decodificacion en codigos
lineales . . . . . . . . . . . . . . . . . . .
3.5. Construcciones con c
odigos lineales . . .
4. Cotas a los par
ametros
4.1. Generalidades . . . . . . . . . . .
4.2. Cota de Hamming . . . . . . . .
4.3. Cota de Singleton y c
odigos MDS
4.4. Otras cotas . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
35
35
38
39
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
42
46
.
.
.
.
49
49
51
51
53
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5. Tipos especiales de c
odigos lineales
55
5.1. C
odigos de Hamming y c
odigos simplex . . . . . . . . . . . . . . 55
5.2. C
odigos de Golay . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3. C
odigos de Reed-Muller (binarios) . . . . . . . . . . . . . . . . . 59
3
INDICE GENERAL
4
6. Cuerpos finitos
6.1. Suma y producto en cuerpos finitos
6.2. Polinomios y n
umeros algebraicos .
6.3. Existencia y unicidad. . . . . . . .
6.4. Ejemplos . . . . . . . . . . . . . .
6.5. El anillo F[X]/(X n 1) . . . . . .
6.6. Automorfismos . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7. C
odigos cclicos
7.1. Conceptos b
asicos . . . . . . . . . . . . . . .
7.2. C
odigos cclicos y anillos de polinomios . . . .
7.3. Ceros de un codigo cclico y matriz de control
7.4. Codificaci
on y decodificacion en codigos
cclicos . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
63
63
65
67
69
71
76
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
77
77
78
81
. . . . . . . . . . .
82
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8. C
odigos cclicos cl
asicos
85
8.1. C
odigos de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2. C
odigos BCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.3. C
odigos de Reed-Solomon . . . . . . . . . . . . . . . . . . . . . . 89
Captulo 1
Informaci
on y c
odigos
1.1.
La transmisi
on de la informaci
on
La transmisi
on de la informacion digital consiste en enviar mensajes, o cadenas de palabras que son, a su vez, cadenas de elementos de un alfabeto o
conjunto de smbolos, donde incluimos tambien a las se
nales de cualquier tipo.
As, los mensajes ser
an cadenas de smbolos que separaremos en palabras (tal
vez una o tal vez, muchas).
Los smbolos se envan a traves de un canal. Un canal es cualquier medio
de transmisi
on, como puede ser el cable de telefono, la fibra optica, las ondas
de radio, el empleado del supermercado que teclea en la caja el codigo de
barras de un producto cuando ha fallado el lector, etcetera; aunque al final
siempre trabajaremos con algunas restricciones. Desde el punto de vista de la
fiabilidad de la transmisi
on hay dos tipos fundamentales de canales; a saber,
los canales con interferencia (o ruido) y los canales sin interferencia. Nosotros
s
olo nos ocuparemos del estudio de los canales con interferencia o ruido, que,
obviamente, es el caso donde se pueden producir errores.
En este texto, adem
as, s
olo nos ocuparemos de la parte cuantitativa de la
transmisi
on de la informaci
on y no del significado (si analizamos el contenido
de los mensajes que normalmente se transmiten en el mundo, seguro que nos
desanimamos).
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 diferente, incluso usando un alfabeto distinto, pero nosotros siempre lo haremos bajo
5
Y CODIGOS
CAPITULO 1. INFORMACION
determinadas reglas. Una de ellas es que cada palabra no pueda tener mas de
una correspondiente en el codigo; formalmente, la codificacion es una aplicacion.
Vamos a verlo. Para cualquier alfabeto A, denotamos con P al(A) el conjunto
de todas sus palabras.
1.1.1. Definici
on. Sean A, F alfabetos y sea M P al (A) un subconjunto
finito.
1. Una codificaci
on del alfabeto es una aplicaci
on inyectiva C : A P al(F).
2. Una codificaci
on de palabras de M es una aplicaci
on inyectiva C : M
P al(F).
Llamamos c
odigo a la imagen de C y se llama palabra c
odigo o simplemente
palabra a cada uno de sus elementos.
1.1.2. Observaci
on. Sean A, F alfabetos y sea M P al (A) un subconjunto
finito. Supongamos que estamos transmitiendo informacion codificada a traves
de un canal. El proceso de decodificacion lo realizaremos siempre en dos pasos;
a saber:
1. Separaremos (de alguna forma) la lista de smbolos en partes a las que
asignaremos palabras del codigo.
2. A cada palabra de codigo le asignaremos su imagen inversa (que es u
nica)
bajo C.
1.1.3. Ejemplo. Supongamos que somos un GPS para un punto que se va a
mover en un tablero. Partimos de una casilla salida y tenemos que mostrarle la
ruta a la casilla meta. Nuestro alfabeto y palabras seran A = {, , , } =
M.
Vamos a transmitir la ruta al punto de forma codificada; es decir, definiremos
una aplicaci
on C : M P al (F), para alg
un conjunto F. Luego se decodificara y
entonces el punto seguira la ruta que aparece en el tablero.
s
DE LA INFORMACION
1.1. LA TRANSMISION
Codificaci
on 1: Hacemos F = Z2 , y C () = 0, C () = 1, C () =
C () = 01.
Entonces enviamos la cadena 111010110101 que se transmite sin errores y
ahora se tiene que decodificar. El problema es que, quien recibe la cadena tiene
m
as posibilidades de decodificar que la contemplada por nosotros. Vamos a ver
dos opciones m
as:
10,
Una es:
que se decodifica:
Otra:
que se decodifica:
01
01 10 10
0
Tipos de c
odigos
En general, el uso de los c
odigos abarca tres grandes objetivos en la transmisi
on de la informaci
on:
1. Comprimir mensajes.
Y CODIGOS
CAPITULO 1. INFORMACION
- codificador
canal
receptor
6
- decodificador
1.1.4. Definici
on. Decimos que un c
odigo es de decodificaci
on u
nica si cada
vez que recibimos una cadena de smbolos, o mensaje, esta corresponde con una
u
nica lista de palabras.
1.1.5. Definici
on.
1. Decimos que una palabra tiene longitud n N si utiliza exactamente n smbolos.
2. Decimos que un c
odigo es un c
odigo en bloques (o bloqueado) si existe
n N, tal que toda palabra es de longitud n.
Se tiene por supuesto la definicion, obvia, de codigo de longitud variable.
Nosotros s
olo nos ocuparemos del estudio de los codigos en bloques. Un ejemplo
tpico e importante de codigo de longitud variable es la clave Morse. Uno de
bloques es el c
odigo de barras, donde, ademas, todo mensaje es de exactamente
una palabra.
1.1.6. Observaci
on. Es claro que todo codigo en bloques es de decodificacion
u
nica.
1.2.
INFORMACION
Medida de la incertidumbre y de la
informaci
on
Vamos a comentar c
omo se lleva a cabo la cuantificacion de la informacion
(que se va a transmitir a traves de un canal). En [8] y [10] se pueden encontrar exposiciones m
as amplias de este tema. Nosotros solo vamos a hacer una
exposici
on breve e intuitiva, tratando de no perder por ello claridad.
El criterio para cuantificar la informacion sera mas informa mientras mas
sorprende o, en terminos m
as cercanos a la probabilidad, mas informacon
tiene mientras menos probable es que ocurra. Por ejemplo, casi nunca veremos
una noticia que diga ma
nana por la ma
nana saldra el sol; ya sabemos que va
a ocurrir ma
nana y muchos a
nos pues no esta previsto a corto plazo una colision
o que el sol se apague. Lo que es noticia es que en un da despejado el sol se
esconda; es decir, que haya un eclipse de sol.
Vamos a transmitir informaci
on usando palabras; es decir, cadenas de smbolos (y se
nales). Cada smbolo tiene una probabilidad de aparecer; as que, si A
es un alfabeto, podemos establecer una distribucion de probabilidades sobre el
suceso que aparezca a A (en una palabra o en un mensaje)
Una fuente de informaci
on [8] (source of transmision [10]) es una pareja
(A, P) formada
por
un
alfabeto
A junto con una distribucion de probabilidades
P
P; es decir, aA p(a) = 1. Se puede extender la fuente original; por ejemplo, si
A = {a1 , a2 } (que normalmente denotamos con A = {0, 1}), podemos extenderla
a An , de la forma obvia. Entonces, volvemos a calcular la probabilidad. Por
ejemplo,
si los sucesos son independientes entonces para v An , se tiene p(v) =
Qn
seguimos con las palabras, etcetera.
i=1 p(v(i)) y as
Cuando no se preste a confusi
on, escribiremos A = (A, P).
Lo anterior puede replantearse en terminos puramente probabilsticos y definir una fuente de informaci
on como una variable aleatoria sobre el espacio de
sucesos de las palabras o los smbolos.
1.2.1. Ejemplo. Vamos a construir una fuente para enviar palabras en binario,
simplificando el c
odigo ASCII.
Supongamos que tenemos un canal binario para enviar mensajes de palabras
en castellano. Podemos usar, por ejemplo, el C
odigo ASCII extendido (American
Standard Code for Information Interchange).
Es una codificaci
on numerica de la que escribimos su version binaria, de
28 = 256 smbolos (letras, n
umeros, etc.) pensado sobre todo para transmitir
textos en ingles. Cada smbolo tiene asociada una cadena 8 dgitos binarios.
El c
odigo ASCII tiene dos tipos de caracteres, los imprimibles y los de control. La tabla del c
odigo es muy larga y no podemos reproducirla completa aqu.
Lo que haremos es crear nuestra propia tabla solo para las letras del castellano
y algunos smbolos, como los parentesis y el nuevo parrafo.
Y CODIGOS
CAPITULO 1. INFORMACION
10
Imitaci
on del c
odigo ASCII
Smbolo
Decimal
Binario
t
(
)
(salto)
.
A
B
C
D
E
F
G
H
I
J
K
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
Smbolo
L
M
N
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Decimal
Binario
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
Distribuci
on de las letras del castellano y el espacio
Smbolo
E
t
A
O
L
S
N
D
R
U
I
Probabilidad
0,1460
0,1140
0,1041
0,0756
0,0729
0,0685
0,0610
0,0598
0,0430
0,0418
0,0361
Smbolo
T
C
P
M
Y
Q
.
B
H
G
F
Probabilidad
0,0288
0,0254
0,0240
0,0185
0,0134
0,0133
0,0097
0,0080
0,0078
0,0064
0,0045
Smbolo
V
J
N
(
)
Z
X
K
W
Probabilidad
0,0034
0,0029
0,0027
0,0026
0,0019
0,0019
0,0013
0,0005
<0,0001
<0,0001
INFORMACION
11
Esta tabla ya es una fuente, pues tiene sus smbolos y su distribucion. Nosotros queremos una fuente EN BINARIO y que considere la aparicion de 0 y 1
como sucesos independientes. Vamos a calcular la distribucion de la fuente para
A = {0, 1} tomando la tabla de imitacion del codigo ASCII y la distribucion
anterior.
Las cuentas para la nueva distribucion las haremos simplemente calculando
las probabilidades del 0 y 1, de la forma habitual, por ejemplo,
X
p(0) =
p(smbolo) p(0|smbolo)
smbolos
Smbolo
0
1
Probabilidad
0,6137
0,3863
Un ejemplo m
as manejable es el siguiente.
1.2.2. Ejemplo. Supongamos que en la situacion del GPS (1.1.3), conocemos
una distribuci
on.
Smbolo
Probabilidad
1/2
1/4
1/16
3/16
Codificacion
00
11
10
01
Smbolo
0
1
Probabilidad
5/8
3/8
Medida de informaci
on
En vista de lo anterior, queremos determinar la cantidad de informacion o
grado de incertidumbre para un smbolo o una palabra; o mas bien, el suceso
de 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
Y CODIGOS
CAPITULO 1. INFORMACION
12
distribuci
on de probabilidades que tiene. Entonces, ANTES de que el muestreo tenga lugar existe una cantidad de INCERTIDUMBRE asociada con la
de recoger la muestra, hemos ganado cierta cantidad
aparici
on y, DESPUES
suerte, informaci
on e incertidumbre empiezan con i.
INFORMACION
13
En principio, la elecci
on del logaritmo en base 2 es arbitraria y se puede
definir informaci
on n-aria. En base 2, la unidad queda establecida en un canal
binario equiprobable.
Sea (A, P) una fuente de
on donde A = {a, b} (puedes sustituir
informaci
por 0 y 1 si quieres) y P = p
= 21 , q= 12 . En este caso, es trivial que I(a) =
1
I(b) = 1; pues log2 p1 = log2
= log2 (2) = 1.
( 12 )
As que
1.2.5. Definici
on. Un bit es la cantidad de informaci
on (binaria) que tiene un
elemento de una fuente binaria y equiprobable.
N
otese que en una fuente equiprobable con tres elementos, la cantidad de
informaci
on (binaria) que tiene cada smbolo es MAYOR que un bit.
1.2.6. Ejemplos.
1. En la situaci
on de (1.2.1), podemos calcular algunas cantidades de informaci
on 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.
Adem
as, en la tabla de la distribucion binaria, I(0) = 0, 7744 e I(1) =
1, 3722.
2. En la situaci
on 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) una
fuente de informaci
on donde A = {a}, solo tiene un smbolo. En este caso,
trivialmente, I(a) = 0 y esto nos corrobora algo obvio. Si solo hay un
smbolo, no hay informaci
on.
Entropa
Seg
un el diccionario de la RAE, entropa tiene dos usos. El primero en fsica:
medida del desorden de un sistema. El segundo en teora de la informacion:
medida de incertidumbre (y en consecuencia, de informacion).
Formalmente, la entropa (binaria) de una fuente de informaci
on, digamos
(A, P), es el promedio ponderado de la cantidad de informacion (cuando este definida, claro) de los smbolos de A; es decir,
X
X
1
( bits ).
H (A, P) =
p(a)I(a) =
p(a) log2
p(a)
aA
aA
Y CODIGOS
CAPITULO 1. INFORMACION
14
A efectos de c
alculo,usaremos
la convencion de que si p(a) = 0 entonces
1
p(a)I(a) = 0 = p(a) log2 p(a) ya que 0 = lmx0 x log2 x1 .
1.2.7. Ejemplos.
1. En la situaci
on del castellano (1.2.1) se tiene que entropa del alfabeto y
los smbolos es 4, 0665, mientras que la del binario es 0, 9624.
2. En la situaci
on del GPS (1.2.2) se tiene que la entropa de las flechas
es 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 informaci
on. Entonces 0 H (A, P)
log2 (|A|).
A
un m
as,
1. H (A, P) = 0 si existe p(a) = 1 con a A y
2. H (A, P) = log2 (|A|) si la distribuci
on es equiprobable.
Como caso particular, muy importante, tenemos la fuente A = {0, 1} con
distribuci
on P = {p, 1 p}. En este caso
1
1
).
H (A, P) = p log2 ( ) + (1 p) log2 (
p
1p
A
un m
as, se puede probar que H (An , P 0 ) = nH (A, P). En [10] y [8] se
tienen captulos completos dedicados a propiedades de la funcion de entropa.
La naturaleza de los smbolos suele ser sustituida por la probabilidad de que
aparezcan; por eso, cuando se es mas formal, las funciones de entropa solo tienen
como argumento la distribucion de probabilidades, como la binaria, H2 (p) =
H2 (p, 1 p). De hecho, la entropa es un concepto puramente probabilstico.
1.3.
15
Le llamaremos adem
as sin memoria cuando se verifique que, si a = a1 an
palabras
de los alfabetos A y S, respectivamente, eny s = s1 sn son
Qn
tonces p (s|a) = i=1 p (si |ai ).
Transmitir un smbolo (de entrada) a traves del canal significa asociar a
dicho smbolo, aleatoriamente, un smbolo de salida seg
un la distribuci
on
condicionada anterior.
Por su definici
on, todo canal discreto, una vez ordenados los smbolos del
alfabeto, tiene asociada una matriz cuyas entradas son las probabilidades condicionadas. Llamaremos matriz del canal (seg
un cierto orden) a dicha matriz.
Al enviar informaci
on por un canal con interferencias ocurrira que entrara un
smbolo a A (o una palabra) y puede llegar al receptor uno (y solo uno) de
los tres casos:
1. El smbolo de salida deseado (por ejemplo el propio a) (acierto)
2. Un smbolo no deseado (error)
3. Un smbolo imposible de interpretar (borron o borradura, erasure).
El hecho de que exista un smbolo de salida deseado nos llevara finalmente a
la idea de perdida de informaci
on (por falta de fiabilidad). Intuitivamente, podemos 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 entropa condicionada y que
veremos a continuaci
on.
16
Y CODIGOS
CAPITULO 1. INFORMACION
La situaci
on anterior determina tres informaciones nuevas a partir de las
cuales se puede calcular entropa. Como la relacion entre informacion y entropa
es muy clara y sencilla, vamos directamente a centrarnos en las tres nuevas
entropas.
Primera. El suceso se recibe (o asocia) s S a alg
un smbolo de entrada determina una nueva fuente de informacion para los smbolo de S, que
denotamos (S, Q). As, obtenemos una entropa que llamaremos H (S, Q).
La segunda es entropa propia de la transmision a traves del canal o entropa de la informaci
on condicionada; es decir, la incertidumbre sobre el origen
de cada smbolo s S recibido o la incertidumbre sobre el smbolo que se recibir
a al enviar un a A, que ya sabemos que coinciden.
1.3.3. Definici
on. Sean A = (A, P) y S = (S, Q) fuentes de informaci
on (o
dos variables aleatorias).
1. La entropa condicionada para un elemento s S es la media
X
1
.
p(a|s) log2
H (A|s) =
p(a|s)
aA
An
alogamente se definen H(S|a) y H (S|A).
En terminos de la transmision podemos decir en palabras, que la entropa
condicionada mide la incertidumbre sobre A, una vez que se conoce S.
La tercera es la entropa conjunta, que proviene de la probabilidad conjunta
p(a s), que denotamos H (A, S) cuando las distribuciones esten fijadas. La
definici
on es obvia pero la escribimos.
1.3.4. Definici
on. Sean A = (A, P) y S = (S, Q) fuentes de informaci
on. La
entropa conjunta es la media ponderada de la informaci
on conjunta; es decir,
X
1
.
H (A, S) =
p(a s) log2
p(a s)
aA,sS
17
3. H (A|S) H (A).
Ahora tenemos que llevar los conceptos anteriores a la situacion en que la
probabilidad conjunta es la incertidumbre sobre el orgen de un smbolo, lo cual
interpretaremos como perdida de la informacion.
Informaci
on mutua y capacidad
Imaginemos que tomamos la muestra a A y enviamos el smbolo a traves
del canal. Ahora el receptor tiene un smbolo s S. Si el suceso de recibir s
implica que fue enviado a entonces el emisor y el receptor tienen la misma informaci
on. Si el receptor no est
a seguro de que el smbolo enviado fue a entonces el
emisor (que tiene el smbolo) tiene mas informacion original que el receptor. As,
podemos interpretar la entropa condicionada como la informacion que se va a
perder (por un problama de fiabilidad) sobre A o como puedes equivocarte
en la elecci
on del origen de un smbolo y por tanto fallar en el conocimiento de
la informaci
on original.
Probabilsticamente, la informacion mutua de dos fuentes de informacion, A
y S, es la cantidad de informaci
on que tiene A menos la cantidad de informaci
on
que queda de A una vez que se conoce S. Es decir, la cantidad de informacion
sobre A en virtud del conocimiento de S.
1.3.6. Definici
on. Sean A = (A, P) y S = (S, Q) fuentes de informaci
on de
un canal discreto y sin memoria. La informaci
on 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 un
canal donde la distribuci
on conjunta tambien es equiprobable (y por tanto
independiente). Por (1.2.8) y (1.3.5) se tiene que H (A|S) = H (A) que
nos indica que una vez que conoces S tienes la misma incertidumbre sobre
A y por tanto la informaci
on mutua es I (A, S) = 0 (perdimos toda la
informaci
on al transmitir).
2. El otro extremo. Supongamos que A = S y para todo a A se tiene
que p(a|a) = 1, as que p(a|s) = 0 si a 6= s. En este caso, la entropa
condicionada 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 el
origen fue a y la informaci
on mutua es I (A, S) = H (A) (conservamos
toda la informaci
on al transmitir).
Desde el punto de vista de la correccion de errores de transmision, donde
dado un smbolo a A tenemos un favorito s S, la informacion mutua da
una medida de la fiabilidad de una transmision.
Ahora vamos a definir la capacidad de un canal. Consideremos un canal con
smbolos de entrada A y de salida S y todas las posibles fuentes AP = (A, P).
Y CODIGOS
CAPITULO 1. INFORMACION
18
Cada fuente determina otra SP = (S, QP ) y con ellas se tiene una informacion
mutua, que denotamos I (AP , SP ).
1.3.8. Definici
on. La capacidad de un canal es el valor m
aximo de las informaciones mutuas; es decir,
C(A) = max {I (AP , S) | P es una distribuci
on }
Desde el punto de vista de la transmision, donde tenemos favoritos la
capacidad de un canal sera su fiabilidad.
1.3.9. Ejemplo. Canales simetricos
Un 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 son
iguales y lo mismo ocurre con las columnas; es decir que, salvo el orden, todas
las 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 la
distribuci
on equiprobable en A y es log2 (|A|) H(S|a) donde el sustraendo es
1
.
constante para todo a A y p(a) = |A|
Como caso particular, vamos a calcular la capacidad del canal simetrico
binario. Aqu se sigue el esquema
1p
- 0
*
HH
p
H
H
HpH
j 1
H
1 1 p
0 H
donde p 1/2. (Si fuese p 1/2, hacemos que al recibir se cambie el dgito.)
La distribuci
on condicionada se refleja en la matriz
1p
p
(pij ) =
p
1p
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,
1
1
1
1
H (A) =
log2
+ log2
=1
2
2
2
2
2
2
X
1 X
1
H (A|A) =
pij log2
=
2
p
ij
j=1
i=1
=
y por tanto
I (A, A) = H (A) H (A|A) = 1 + p log2 (p) + (1 p) log2 (1 p) .
1.4. CODIGOS
CORRECTORES DE ERRORES
1.4.
19
C
odigos correctores de errores
Vamos a establecer el contexto que sera nuestra hipotesis de trabajo. Tenemos un canal discreto y sin memoria (1.3.1), digamos C y fuentes A y S, de
entrada y salida respectivamente.
Para cada entrada a A hemos elegido un u
nico smbolo sa S, que
llamaremos el smbolo correspondiente o deseado para a. Diremos que se ha
producido un error de transmisi
on cuando habiendo enviado el smbolo a, el
smbolo recibido no sea sa .
Vamos a hacer algunos c
alculos.
1. La probabilidad de cometer un error habiendo enviado el smbolo a A
a traves de C, es
X
pe,C (a) =
p (s 6= sa |a) = 1 p (sa |a) .
sS
X
aA
aA
p(a)
X
aA
p(a sa ) = 1
p(a sa )
aA
Y CODIGOS
CAPITULO 1. INFORMACION
20
canal con
interferencia
emisor
receptor
6
- codificador
decodificador
6
correccion de
- errores
(1.4.1)
Como f es aplicaci
on parcial entonces los {Bc }cC son disjuntos aunque tal vez
no sean una partici
on de Fn .
parcial
Considerese, pues, un esquema de decision f : Fn C. Para una
palabra s Fn , si f (s) esta definido, entonces el esquema decide que la
palabra enviada fue f (s). Si f (s) no fue la palabra enviada decimos hemos
cometido un error de decisi
on.
A continuaci
on, vemos un grafico del proceso completo, donde denotamos
C
Fn
Fn la transmisi
on a traves del canal C.
codificaci
on
P all (A) M C Fn
esquema
decodificaci
on
Fn C P all (S)
1.4.3. Observaci
on. Ya cuando estemos concentrados en los codigos, a estos
errores los llamaremos errores de decodificacion. La razon es que se considera la
decisi
on o correcci
on como parte de la decodificacion.
Vamos a calcular la probabilidad de cometer un error de decision. Por definici
on, decimos que hemos cometido un error de decision cuando habiendo enviado
la palabra c C recibimos la palabra v 6 Bc ; luego la probabilidad condicionada que elegimos usar es p(v|c), y la calcularemos de diversas maneras. As, para
una palabra c C enviada, la probabilidad es
!
X
X
pe (c) =
p(v|c) = 1
p(b|c)
v6Bc
bBc
1.4. CODIGOS
CORRECTORES DE ERRORES
21
Pe (C)
p(c)pe (c) =
cC
p(c)
cC
X X
p(v|c)
v6Bc
p(c)p(b|c) = 1
cC bBc
p(v f (v))
vFn
cC
p(c) = 1,
Pe (C) Pemax (C)
X
vFn
p(v) (1 p (f (v)|v)) =
vFn
p(v)pe (v).
vFn
Entonces, para poder calcular la probabilidad total de error de decision necesitamos tres ingredientes: el primero es la distribucion {p(c) | c C}, el segundo es la distribuci
on {p(v|c) | (c, v) C Fn } y el otro es la familia {Bc }.
1.4.4. Ejemplos. Vamos a ver algunos esquemas de decision. Transmitimos
en un canal discreto y sin memoria con smbolos de entrada y salida F. Sea
C An un c
odigo con |C| = M . Considerense los siguientes esquemas de
parcial
decisi
on f : C Fn ,
1. Supongamos que para cada a A = F y s S = F conocemos p(a|s)
(as que, por definici
on de canal, hemos de conocer la distribucion de la
fuente de entrada, lo cual es claramente una desventaja del metodo). Con
estos datos, para cada v Fn , definimos p (C|v) = {p(c|v) | c C} y
como el canal es sin memoria, podemos definir f (v) como el vector tal que
p (f (v)|v) = m
ax p (C|v). Este esquema se conoce como error mnimo y
tiene la propiedad de que minimiza el error de decision medio.
2. Un esquema similar que evita el problema de conocer la distribucion es
considerar la otra probabilidad condicionada. En este caso, para cada v
Fn , definimos p (v|C) = {p(v|c) | c C} y como el canal es sin memoria,
podemos definir f (v) como el vector tal que p (v|f (v)) = max p (v|C). Este
esquema se conoce como m
axima verosimilitud.
Y CODIGOS
CAPITULO 1. INFORMACION
22
k=0
Claramente
1 pe (c)
= p ( t errores) =
p(b|c)
bBc
t
X
nk
|Sk (c)| pk (1 p)
k=0
t
X
n
(q 1)k pk (1 p)nk .
k
k=0
Pero esto u
ltimo ocurre con cada palabra; as que la probabilidad de error
(o acierto) en el codigo C es independiente de las palabras y podremos
sacarlo como factor com
un. As,
!
t
X
X
n
k k
nk
Pe (C)
p(c) 1
(q 1) p (1 p)
k
cC
k=0
!
!
t
X
X
n k
=
p(c)
1
p (q 1)k (1 p)nk
k
cC
k=0
t
X
n k
= 1
p (q 1)k (1 p)nk .
k
k=0
1.5.
Teorema de Shannon
Como hemos visto en la seccion anterior, codificar implica, entre otras cosas,
sumergir un c
odigo C en un conjunto ambiente Fn , tal que la longitud de sus
palabras, digamos n, sea mayor o igual que la longitud original de las palabras,
digamos k.
23
En esta situaci
on, es claro que el canal tiene que transmitir n smbolos del
c
odigo para que podamos conocer k smbolos de la fuente; es decir, tenemos una
tasa de R = k/n-smbolos de la fuente por cada smbolo del codigo ya que, conforme a la definici
on usual de tasa, es el cociente del n
umero de smbolos validos
que vamos a producir sobre el total de smbolos que tenemos que transmitir.
N
otese que k = log|A| (|C|). As llegamos al concepto de tasa de transmision.
1.5.1. Definici
on. La tasa de trasmisi
on de un c
odigo C An es el cociente
del n
umero de smbolos que originalmente tiene una palabra sobre el n
umero
necesario de smbolos para transmitirla usando dicho c
odigo.
R(C) =
log|A| (|C|)
n
24
Y CODIGOS
CAPITULO 1. INFORMACION
Captulo 2
Generalidades sobre
C
odigos
2.1.
Conceptos b
asicos
Una vez que hemos fijado la intencion y el contexto del estudio de los codigos
correctores de errores, vamos tambien a fijar un poco la notacion.
2.1.1. Definici
on. Sea A un alfabeto (finito), con |A| = q, y considerese An ,
como siempre. Llamamos c
odigo q-ario en bloques de longitud n a cualquier
subconjunto no vaco de An . Al propio An lo llamamos el conjunto ambiente.
Sea M = |C|. Decimos que C tiene par
ametros (n, M ), o que C es un (n, M )c
odigo sobre A.
A los elementos de C les llamaramos palabras del c
odigo.
2.1.2. Notaci
on. A los largo de todo el texto, nuestros alfabetos ser
an siempre
cuerpos 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 c
odigo un
c
odigo corrector de errores definido en bloques. El conjunto ambiente ser
a Fn ,
a quien llamaremos el espacio ambiente.
2.1.3. Ejemplo. [C
odigos de repeticion] Consideremos a F2 y supongamos que
s
olo queremos enviar los mensajes s y no. Vamos a suponer tambien que
de alguna manera sabemos que el canal comete a lo mas dos errores cada 5
emisiones. Usamos entonces 5 dgitos como sigue.
s 7 00000.
no 7 11111.
El c
odigo es entonces C = {00000, 11111}.
Para crear este c
odigo hemos hecho posiblemente lo mas antiguo que se hace
para eliminar errores, repetir la palabra (5 veces). Este tipo de codigos se llaman
c
odigos de repetici
on.
25
26
9
X
i xi
mod 11
i=1
i xi 0
mod 11.
i=0
2.1. CONCEPTOS BASICOS
27
CAPITULO 2. GENERALIDADES SOBRE CODIGOS
28
d1
d1
c+b
c d 1 < d,
2
2
lo cual es imposible.
Por eso, al n
umero t = b d1
en como radio de empaque2 c se le conoce tambi
tado; es f
acil ver que es el maximo de los radios que hacen a las bolas disjuntas
dos a dos (vease [10, 11]). Como veremos un poco mas adelante, a t tambien se
le conoce como la capacidad de correcci
on.
2.1.10.
Observaci
o
n.
Entonces,
para
un codigo C Fn , se tiene que si r
d1
, el conjunto de bolas {Br (c) | c C} induce el esquema de decision
2
parcial
2.1. CONCEPTOS BASICOS
29
2.1.13. Definici
on. Para un c
odigo C, se define la capacidad de correcci
on
como t = b d(C)1
c.
2
2.1.14. Definici
on. Un (n, M, d)-c
odigo es un c
odigo de longitud n, que contiene M palabras y tiene distancia mnima d.
2.1.15. Ejemplo. Volvamos al ejemplo en (1.1.3) del GPS. En ese caso, habamos
definido el c
odigo
7 00
7 11
C1 =
7 10
7 01
C1 es un (2, 4, 1)-c
odigo binario y no
Ahora vamos a agregar redundancia
C2 =
00|0
11|0
10|1
01|1
C2 es un (3, 4, 2)-c
odigo binario y detecta 1 error, pero no puede corregir.
Un c
odigo que s
olo detecta un error se llama c
odigo detector de un error.
Mientras m
as redundancia agregamos, mejor para la correccion y peor para
la tasa de trasmisi
on (1.5.1). Si agregamos dos dgitos mas,
7 00|000
7 11|011
C3 =
7 10|110
7 01|101
C3 es un (5, 4, 3)-c
odigo binario, tiene tasa de transmision de 1/2 (1.5.1),
corrige un error y detecta 2, pero no a la vez. Por ejemplo, si recibimos la
palabra 00001. Tenemos dos posibilidades:
1. Si asumimos que s
olo se puede cometer un error, entonces corregimos
00001 7 00000.
2. Si asumimos que se puede cometer mas de un error entonces 00001 puede provenir de 01101 con dos errores o de 00000 con un error. Entonces
detectamos 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}.
Aqu tambien se puede calcular Pe (C3 ).
CAPITULO 2. GENERALIDADES SOBRE CODIGOS
30
2.1.16. Observaci
on. Normalmente tenemos que decidir si un codigo es detector o corrector, aunque los codigos detectores no los estudiaremos aparte.
2.1.17. Ejemplo. Vamos a ver los parametros del codigo del ISBN (2.1.4).
El espacio ambiente es F10
olo tiene restriccion en el
11 . En principio x1 , . . . , x9 s
alfabeto; as que M = 109 , y d(ISBN ) = 2 dada la asignacion libre en el grupo
de la editorial. Este c
odigo, entonces detecta un error y no corrige ninguno.
2.1.18. Ejemplo. Todo codigo q-ario de longitud n, de repeticion, es un (n, q, n)c
odigo.
C
odigos perfectos y radio de recubrimiento
Los c
odigos perfectos son aquellos para los cuales el esquema de decision
inducido por las bolas cerradas tiene una aplicacion o funcion (en el sentido
habitual) en vez de una funcion parcial. En [5] se llama codigo de decodificacion
u
nica a aquellos que verifican que su esquema es una aplicacion.
2.1.19. Definici
on. Un c
odigo C sobre un alfabeto F se llama perfecto si la
distancia mnima es de la forma d = 2t + 1 y
[
Fn =
Bt (x)
xC
es decir, si Fn es uni
on de las bolas de radio
d1
2
r
X
n
j=0
(q 1)
elementos.
Demostraci
on. N
otese que para v Fnq , y para j posiciones fijas, {i1 , . . . , ij },
se tiene
u Fnq | v (ik ) 6= u (ik ) k = 1, . . . , j = (q 1)j .
Ahora, hay que multiplicarlo por las nj -posiciones. Con eso tenemos el cardinal
de la esfera de radio j. Finalmente, como la bola es la union de las distintas
esferas (que ya sabemos que son disjuntas) se tiene el resultado.
Ahora caracterizaremos a los codigos perfectos.
2.1.21. Teorema. Un (n, M, d)-c
odigo q-ario es perfecto si y s
olo si
M
t
X
n
j=0
d1
(q 1) = q , con t =
.
j
2
j
2.1. CONCEPTOS BASICOS
31
Demostraci
on. Por hip
otesis, las bolas son disjuntas, as que
t
[
X
n
Bt (u) = M |Bt (x)| = M
(q 1)j
j
j=0
uC
cC
2.1.26. Definici
on. Sea C un (n, M, d)-c
odigo sobre F, con radio de empaquetamiento (o capacidad de correcci
on) t. Decimos que C es cuasi perfecto si
(C) = t + 1.
2.1.27. Ejemplo. El c
odigo C3 de (2.1.15) verifica b d1
2 c = 1 y (C3 ) = 2.
Luego, C3 es quasi perfecto.
CAPITULO 2. GENERALIDADES SOBRE CODIGOS
32
2.2.
Equivalencia y automorfismos de c
odigos
La definici
on tradicional de equivalencia de codigos es la siguiente (veanse,
por ejemplo [5, 6, 10]).
2.2.1. Definici
on. Dos c
odigos C y D, q-arios decimos que son equivalentes
si se puede obtener uno del otro a traves de una combinaci
on de operaciones de
los siguientes tipos:
1. Permutaci
on de las posiciones.
2. Permutaci
on de los smbolos de una posici
on fija.
Como aplicaci
on, un resultado muy u
til a la hora de hacer calculos.
2.2.2. Lema. Todo (n, M, d)-c
odigo sobre F es equivalente a un (n, M, d)-c
odigo sobre F, que contiene al vector 0 Fn .
Demostraci
on. Inmediato del hecho de que las traslaciones son isometras.
A su vez, cada c
odigo tiene asociado su grupo de automorfismos o autoequivalencias.
2.2.3. Definici
on. Sea F un cuerpo finito y C Fn un c
odigo. El grupo de
automorfismos de C es
Aut(C) = {x Isomn (F) | Cx = C} .
De especial interes es el grupo de aquellos automorfismos que solo hacen
permutar a las coordenadas;
2.2.4. Definici
on. Dos c
odigos C, D Fn , decimos que son permutaci
on equivalentes si existe una permutaci
on Sn , tal que C = D.
2.2.5. Definici
on. Sea F un cuerpo finito y C Fn un c
odigo. El grupo de
automorfismos de permutaci
on es
PAut(C) = {x Sn | Cx = C} .
2.3.
Construcci
on de c
odigos a partir de otros
C
odigos pinchados
2.3.1. Definici
on. Decimos que pinchamos un c
odigo C Fn , cuando eliminamos una coordenada fija en todas las palabras; es decir, proyectamos sobre las
otras.
Una pregunta importante desde el punto de vista de la teora de codigos
es que ocurre con los parametros. Es decir, si tenemos un (n, M, d)-codigo y
denotamos con Ci? al codigo pinchado en la i-esima corrdenada podemos dar
directamente los nuevos parametros?
DE CODIGOS
2.3. CONSTRUCCION
A PARTIR DE OTROS
33
2.3.2. Proposici
on. Sea C un (n, M, d)-c
odigo sobre F y sea Ci? el c
odigo
pinchado en la i-esima coordenada. Si d > 1 entonces Ci? es un (n 1, M, d?i )c
odigo, donde
(
d 1 si existen u, v C, con d(u, v) = d y u(i) 6= v(i)
?
di =
d
otro caso.
Demostraci
on. Si |Ci? | < M = |C| entonces tendran que existir u, v C con
u 6= v, pero v ? = u? lo cual implica que d(u, v) = 1. Imposible. Luego, |Ci? | = M .
El c
alculo de d?i es inmediato.
Para los siguientes resultados, necesitamos el concepto de subgrupo de permutaciones transitivo.
2.3.3. Definici
on. Decimos que un subgrupo H Sn es transitivo si act
ua
transitivamente en {1, . . . , n}; es decir, para cualesquier 1 i, j n, existe
H tal que (i) = j (es decir, s
olo hay una
orbita).
2.3.4. Proposici
on. Sea C un (n, M, d)-c
odigo. Si P Aut(C) es transitivo entonces los n c
odigos obtenidos de pinchar C en cada coordenada son permutaci
on
equivalentes.
Demostraci
on. Vamos a ver que C1? es equivalente a Cj? para j = 2, . . . , n. Sea
Pj PAut(C) tal que lleva la coordenada j a la posicion 1, y sea Qj la matriz
que se obtiene de eliminar la fila uno y la columna j-esima de Pj1 . Entonces
?
Cj? = (CPj )1 Qj . Como Pj PAut(C), CPj = C, luego Cj? = C1? Qj , como
queramos ver.
2.3.5. Ejemplo. Sea C = {00000, 11000, 00111, 11111}. Se puede construir C1?
y C5? , y comprobar que no son equivalentes.
C
odigos extendidos
Esencialmente, extender c
odigos es agregar informacion, digamos en dos pasos. Hay muchas maneras (lineales) de hacerlo; una especial, es la que se llama
agragar el dgito de control (de paridad, parity check, en ingles). Se hace as,
2.3.6. Definici
on. Sea C un (n, M, d)-c
odigo sobre F. Hacemos
(
)
n+1
X
b = (v1 , . . . , vn , vn+1 ) | (v1 , . . . , vn ) C y
C
v = 0
=1
34
Concatenaci
on o suma directa
Es importante distinguir entre la suma directa del algebra lineal y la suma
directa de c
odigos, que no coinciden.
2.3.9. Definici
on. Sean C1 , C2 (n1 , M1 , d1 ) y (n2 , M2 .d2 ) c
odigos q-arios. La
concatenaci
on o suma directa es el c
odigo
{(u | v) | u C1 , v C2 }
El estudio de los parametros aqu es muy sencillo y el propio lector puede
completar la secci
on.
La construcci
on de Plotkin
2.3.10. Definici
on. Sean Ci dos (n, Mi , di )-c
odigos q-arios, con i = 1, 2, pero
n fijo. Formamos un nuevo c
odigo que llamamos la construcci
on de Plotkin.
C1 C2 = {(u | u + v) | u C1 , v C2 }
2.3.11. Proposici
on. Sean Ci dos (n, Mi , di )-c
odigos q-arios, con i = 1, 2.
Entonces C1 C2 es un (2n, M1 M2 , d)-c
odigo, donde d = mn {2d1 , d2 }.
Demostraci
on. 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.8),
d(x, y) (v1 v2 ) d2
y la igualdad se alcanza para palabras v1 y v2 que tengan la distancia mnima
de C2 y u1 = u2 .
Si v1 = v2 entonces d(x, y) = 2d (u1 , u2 ) 2d1 y tambien hay palabras que
la alcanzan. De aqu, se tiene de inmediato.
Captulo 3
C
odigos lineales
3.1.
Conceptos b
asicos
lineales. Vamos a identificarlo. Tenemos C1 = F22 y hacemos f : F22 F32 , tal que
f (x, y) = (x, y, x + y). Claramente C1
on
= C2 . Llamaremos matriz de codificaci
a la matriz asociada a la codificacion (en las bases canonicas, como escalares
opuestos). Se tiene, C2 =< M (f ) >, la matriz en las bases canonicas. Mas
adelante, llamaremos a M (f ) (una) matriz generadora 1 .
Ahora hacemos : C2
= F22 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 coordenadas (y dejando intacto el c
odigo original) nos produce matrices del tipo
M () = (Ik |A)
Vamos a formalizar la situaci
on.
3.1.1. Definici
on. Sea F un cuerpo finito. Un c
odigo lineal, C, es un subespacio
del espacio vectorial Fn . Escribimos [n, k, d]-c
odigo para un c
odigo lineal de Fn
1 Generadora o generatriz? Las opiniones est
an divididas (v
eanse [5, 8]). Seg
un el diccionario de la RAE, generadora es que genera, mientras que generatriz los reserva para fsica
y geometra. En todo caso, ambas est
an en el diccionario y aunque no estuvieran cada uno las
usara como quisiera. Aqu diremos generadora porque matriz generatriz, todo junto, no nos
gusta.
35
36
CAPITULO 3. CODIGOS
LINEALES
3.1. CONCEPTOS BASICOS
37
0. Entonces C = Im(f ), el c
odigo nos da la sucesion 0 C Fn Fn /C
0.
Eljase, por lo pronto, una base cualquiera en el espacio cociente, digamos
. Hacemos
Hkn = 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 H
y se denota Nd (H). Tambien hay, claro, la nulidad a la izquierda. A la matriz
H se la conoce como matriz de control (parity check) de C.
3.1.9. Teorema. Si G = (Ik |A)kn es la matriz generadora en forma tpica de
un [n, k]-c
odigo lineal entonces H = (At |Ink ) es una matriz de control de C.
Demostraci
on. Basta hacer las cuentas y luego considerar dimensiones.
El siguiente resultado nos muestra que esencialmente todo codigo puede
suponerse con matriz en forma tpica.
3.1.10. Teorema. Todo c
odigo lineal C es permutaci
on equivalente a un c
odigo
cuya matriz generadora est
a en forma tpica.
Demostraci
on. Sea G la matriz generadora. Por algebra lineal (metodo de GaussJordan) sabemos que existen matrices invertibles (de operaciones elementales),
E, F , tales que EGF = (Ik |A), donde Ik es la identidad y A alguna matriz
adecuada. Tambien sabemos que podemos elegir F como s
olo producto de permutaci
on de los pivotes (o cualquier permutacion que pusiera en las primeras
columnas un conjunto de informacion). Entonces EG genera el mismo codigo
CAPITULO 3. CODIGOS
LINEALES
38
1. El c
odigo binario de repeticion F2 F52 que vimos en (2.1.3) tiene matriz
de codificaci
on
1
y la matriz generadora es G = (1|1111),
M (f ) = ...
que esta en forma tpica.
1 51
En este caso, el conjunto de informacion es {1} y la redundancia es 6. La
matriz de control es
1
1
I4 = ...
I4 porque estamos en F2 .
H = At |I4 = ...
1
1
2. M
as adelante, veremos con detalle un tipo de codigos llamados codigos de
Hamming. Por lo pronto llamaremos H3 al codigo con matriz generadora
0 1 1
1 0 1
G=
I4
1 1 0
1 1 1
y de control
H=
0 1
1 0
1 1
1
1
0
1
1
1
I3 .
Este
es un [7, 4]-codigo.
3. En el ejemplo del ISBN (2.1.4) tenemos C = F911 y agregamos la informa10
ci
on (dgito de control de
aplicaci
pesos) con la
on lineal f : C F11 dada
P9
por f (x1 , . . . , x10 ) = x1 , . . . , x9 , i=1 ixi . En este caso, la matriz
generadora es
.. .
G(ISBN) = I9
.
1
3.2.
C
odigos duales u ortogonales
39
3.2.2. Definici
on. Sea C un c
odigo lineal con matriz de control H = H(C).
El c
odigo dual de C que denotamos C es justo el generado por H.
Claramente,
C = x Fn | xGt = 0 = Ni Gt = Nd (G)
y C es un [n, n k]-c
odigo lineal si C es un [n, k]-codigo lineal. A
un mas,
se puede
probar
f
a
cilmente
que
en
la
situaci
o
n
de
la
definici
o
n
anterior,
H =
G C
3.2.3. Definici
on. Un c
odigo lineal C se llama auto ortogonal si C C y se
llama auto dual si la igualdad se verifica; es decir, C = C
Claramente, para ser autodual, es condicion necesaria tener dimension n/2
N.
3.2.4. Ejemplos.
1. Considerese el c
odigo H3 en (3.1.11). Se puede probar haciendo las cuentas
c3 es auto dual porque la matriz generadora es
que el c
odigo extendido H
nilpotente de ndice 2 y tiene rango 4.
2. El [4, 2]-c
odigo ternario llamado tetrac
odigo tiene matriz
1 0 1 1
.
G=
0 1 1 1
Trivialmente, es autodual.
3.2.5. Teorema. Sea C un c
odigo lineal. Si I y R son las posiciones (ndices)
de informaci
on y redundancia para C entonces R y I los son, respectivamente,
para C .
Demostraci
on. Si R = el caso es trivial. Supongamos que |I| = k. Sea F
la permutaci
on tal que F (I) = {1, . . . , k} y F (R) = {r + 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 conjunto de informaci
on de H, I(H) = F 1 {k + 1, . . . , n} = R y el de redundancia R(H) =
1
F (1, . . . , k} = I.
3.3.
Pesos y distancias
40
CAPITULO 3. CODIGOS
LINEALES
Distribuci
on de peso o espectro de peso
3.3.6. Definici
on. Sea C un c
odigo y sea
At (C) = |{x C | (x) = t}| .
A la lista A1 , A2 , . . . se le llama la distribuci
on de peso de C.
3.3.7. Ejemplo. Considerese el codigo binario con matriz generadora
1 1 0 0 0 0
0 1 1 0 0 0 .
1 1 1 1 1 1
El c
alculo de la distribucion de pesos se deja como ejercicio.
Otro ejemplo que se puede comprobar facilmente es el calculo en un codigo
de repetici
on.
41
CAPITULO 3. CODIGOS
LINEALES
42
3.4.
Codificaci
on y decodificaci
on en c
odigos
lineales
Ya hemos comentado que para hacer la codificacion en codigos lineales usamos una aplicaci
on lineal que tiene que ser inyectiva (1.1.1); luego el espacio de
las palabras de longitud k verifica Fk
= C. Cuando un codigo es muy grande,
se aprecia con claridad la necesidad de codificar y descodificar por formula. El
proceso de codificaci
on es en general, mucho mas facil que el de decodificacion.
La raz
on es que en la decodificacion hemos incluido la correcci
on de errores, lo
m
as costoso.
Correcci
on de errores
Aunque hemos visto dos esquemas de decision en (1.4.4) ya hemos comentado
que nos centraremos en el esquema que proviene de la distancia mnima. Es
importante que tengamos claro que lo que vamos a desarrollar no es un esquema
de decisi
on (ese ya lo tenemos, el de d(C)) sino un algoritmo para la funci
on
parcial. Al final, comentaremos una variante para completar el dominio de la
funci
on parcial y hacerla aplicacion. Comenzamos estableciendo la situacion.
3.4.1. Tenemos un [n, k]-codigo C Fn , con matriz de control H y capacidad
de correcci
on t. Hay una palabra enviada c C, un vector recibido v F y un
vector error, que denotaremos e = v c.
El vector error e contiene la informacion de los errores de transmision que se
cometieron as como de las posiciones donde ocurrieron. Ademas, el peso (e)
nos indica el n
umero de errores en la transmision. En principio, todo vector
puede ser visto como un vector error de cualquier palabra, pero nosotros tenemos
por hip
otesis limitado el n
umero de errores que se van a cometer, luego, se puede
decir que hay muchos vectores en Fn y en C, pero hay pocos vectores error mas
probables; 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 representacion
como elementos de clases de equivalencia e v + C y poseen, en ese sentido,
una propiedad notable; a saber, Hv = He
3.4.2. Definici
on. Sea C Fn un c
odigo lineal con matriz de control H.
Para un vector v Fn , su sndrome es el vector Hv Fn /C (abusando de la
notaci
on).
C
omo se distribuyen los vectores error mas probables en las clases de equivalencia? El siguiente resultado nos da la respuesta.
3.4.3. Proposici
on. Sea C Fn un c
odigo lineal con capacidad de correcci
on
n
t y sea e F tal que (e) t. Entonces e tiene peso mnimo en e + C y es
u
nico con la propiedad.
Demostraci
on. 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 capacidad
Y DECODIFICACION
EN CODIGOS
3.4. CODIFICACION
LINEALES 43
de correcci
on
(c) = (u e) (u) + (e) 2t d(C) 1
lo cual es imposible. Luego e e + C es u
nico.
As que ya sabemos c
omo est
an distribuidos los vectores error (mas probables). Uno por clase.
3.4.4. Definici
on. Sea C Fn un c
odigo lineal. Un vector de peso mnimo en
una clase lateral v + C se llama lder de la clase lateral.
3.4.5. Observaciones.
1. Lo que nos dice la proposici
on anterior es que los lderes de peso menor
que t son u
nicos.
2. Cuando la condici
on del peso falla, los lderes pueden no ser u
nicos.
3.4.6. Ejemplo. Volvamos al ejemplo del GPS extendido (2.1.15) , 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.
lder
00000,
10000,
01000,
00100,
00010,
00001,
11011,
01011,
10011,
11111,
11001,
11010,
10110,
00110,
11110,
10010,
10100,
10111,
01101
11101
00101
01001
01111
01100
00000
10000
01000
00100
00010
00001
11000,
00011,
01110,
10101
11100
11100,
00111,
01010,
10001
11000
00011
10001
01010
El siguiente teorema nos dice que, cuando un vector recibido v Fn pertenece a una clase de equivalencia con lder u
nico, digamos e, entonces v Bt (v e)
y por tanto el esquema decidir
a que la palabra enviada fue v e C.
3.4.7. Teorema. Sea C Fn un c
odigo lineal con capacidad de correcci
on t y
v Fn . Son equivalentes:
1. Existe c C tal que d(v, c) t.
2. Existe un u
nico lder, e, tal que Hv = He y (e) t.
CAPITULO 3. CODIGOS
LINEALES
44
Peso
e01 = 0
e11
..
.
s11
..
.
e1n1
s1n1
..
.
..
.
..
.
et1
..
.
st1
..
.
etnt
stnt
Peso
st+1,1
..
.
et+1,nt+1
st+1,nt+1
..
.
..
.
..
.
t+p
e(t+p),1
..
.
s(t+p),1
..
.
e(t+p),nt+p
s(t+p),nt+p
t+1
Y DECODIFICACION
EN CODIGOS
3.4. CODIFICACION
LINEALES 45
1. Si el n
umero de errores no excediere la capacidad de correccion, el lder
correspondiente ser
a u
nico (y nos indicara los errores cometidos en las
posiciones). Adem
as, se decidira la palabra enviada y corregiremos adecuadamente.
2. Si el n
umero de errores excediere la capacidad de correccion entonces,
cuando los errores coincidan con un lder, corregiremos (correctamente);
si no, habremos cometido un error en la decision.
3. Uno puede optar por hacer la tabla mas peque
na y, de ocurrir que no
se encuentre lder para un vector avisar la deteccion de un error. Si la
probabilidad de error es muy baja, incluso es conveniente.
3.4.9. Ejemplos.
1. Continuamos con el ejemplo en (3.4.6).
Peso
0000
000
10000
01000
00100
00010
00001
110
101
100
010
011
11000
10001
011
111
2
(*) no u
nicos.
CAPITULO 3. CODIGOS
LINEALES
46
n
X
i pi (1 p)ni .
t+1
n
k
i=0
3.5.
Construcciones con c
odigos lineales
Pinchado
Ya hemos visto algunos resultados generales en (2.3.2). En el caso de los codigos lineales podemos mejorarlo. Vamos al caso cuando d = 1. La demostracion
es trivial.
3.5.1. Corolario. Sea C un [n, k, 1]-c
odigo sobre F y sea Ci? el c
odigo pinchado
?
en la i-esima coordenada. Si Ci 6= 0 entonces es un [n1, k ? , d? ]-c
odigo, donde,
1. k ? = k si (0, . . . , 1i , 0 . . . , 0) 6 C.
2. Si k > 1, y no se cumple el apartado anterior ser
a un [n1, k1, 1]-c
odigo.
3.5.2. Sea C un c
odigo lineal sobre F. Sea C ? el codigo pinchado en la u
ltima
coordenada y luego extendido (por definicion, tambien en la u
ltima). Entonces
C = C ? si y s
olo si C es de tipo par.
Extendido
Tambien hemos visto ya los resultados generales en (2.3.7 y 2.3.8). Es muy
f
acil comprobar cualquiera de los siguientes hechos.
3.5.3. Observaci
on.
1. Extendido de lineal es lineal. A
un mahs, si C es ilineal y tiene parametros
b
[n, k, d] entonces C tiene parametros n + 1, k, db , donde db = {d, d + 1}.
3.5. CONSTRUCCIONES CON CODIGOS
LINEALES
47
Fk Fn Fn+1
con
E = Inn
1
..
.
G = (gij )kn .
1
Entonces
..
P.
b=
GE = G
G
g1j
.
gnj
b ha de cumplir que H
b G
b t = 0, as que H
b puede ser
Ahora, H
b =
H
1
0
..
.
Esta
es una construcci
on tpica que llamaremos la matriz de control a
nadido
Vamos a mejorar el resultado que vimos en (2.3.8) en el caso de los codigos
lineales.
3.5.4. Proposici
on. Sea C un c
odigo lineal, Ce y C0 , las palabras tipo par
y tipo impar, respectivamente (vease 3.3.10), y de = d (Ce ) y d0 = d (C0 ),
definidos de forma obvia. Entonces
(
de
db =
d0 + 1
si de d0
otro caso
Demostraci
on. Inmediata. N
otese que d(C) = mn {de , d0 }
3.5.5. Ejemplo. Para ilustrar, podemos extender el codigo H32 , con matriz
G=
1 0
0 1
1
1
1
1
yH=
1
1
1
1
1
0
0
1
48
CAPITULO 3. CODIGOS
LINEALES
La construcci
on de Plotkin
Recordemos la definicion de la construccion de Plotkin en (2.3.10). Es inmediato comprobar que cuando C1 y C2 son codigos lineales tambien C1 C2 es
lineal. A
un m
as.
3.5.6. Corolario. En la situaci
on de (2.3.10), si C1 y C2 tienen matrices generadoras y de control, respectivamente, G1 , G2 y H1 , H2 , entonces C1 C2 tiene
matriz generadora y de control
G1 G1
H1
0
y
0 G2
H2 H2
respectivamente.
Captulo 4
El problema principal de la
teora de c
odigos. Cotas a
los par
ametros
4.1.
Generalidades
Estos
son intereses conflictivos a lo cual nos referiremos como el problema
principal de la teora de c
odigos.
Abordar el problema consiste en en optimizar uno de los parametros. Una de
las versiones m
as populares consiste en encontrar el codigo con M mas grande
(y los otros par
ametros fijos).
4.1.1. Notaci
on. Denotamos con Aq (n, d) el m
as grande valor de M , tal que
existe un (n, M, d)-c
odigo q-ario.
Empezamos con los casos triviales.
4.1.2. Proposici
on. Sea q = pi , con p primo.
1. Aq (n, 1) = q n .
2. Aq (n, n) = q.
Demostraci
on. (1). Si u 6= v Fnq entonces d(u, v) 1. De aqu se tiene de
inmediato que Fnq es un (n, q n , 1)-codigo.
(2). Supongamos que C es un (n, M, n)-codigo q-ario. Si u, v C son distintos entonces d(u, v) n, pero C Fnq . As que todas las coordenadas han de
49
50
51
4.2.
Cota de Hamming
Esta cota viene a completar el estudio de los codigos perfectos. Lo que hemos
visto en (2.1.20 y 2.1.21) nos indica facilmente la demostracion del siguiente
resultado, que se conoce como cota de Hamming o del empaquetado esferico.
4.2.1. Teorema.
Aq (n, d) Pt
qn
j
(q 1)
n
j=0 j
con
t=b
d1
c.
2
Entonces, un c
odigo perfecto es aquel que alcanza la cota de Hamming.
4.3.
Cota de Singleton y c
odigos MDS
4.3.2. Observaci
on. En particular, para un [n, k, d]-codigo lineal q-ario, k
n d + 1.
4.3.3. Definici
on. Un c
odigo que verifica la igualdad en el teorema anterior se
conoce como c
odigo separable de distancia m
axima (maximum distance separable
MDS).
La primera propiedad es obvia, aunque muy importante.
4.3.4. Proposici
on. Los c
odigos MDS son cerrados para isometras.
Luego un (n, M, d)-c
odigo MDS verifica que M = Aq (n, d). Ahora veremos
algunas propiedades interesantes de los codigos MDS lineales.
4.3.5. Teorema. Sea C un [n, k]-c
odigo lineal sobre F, con k 1. Entonces,
las siguientes condiciones son equivalentes.
1. C es MDS.
2. Todo conjunto de k-posiciones es un conjunto de informaci
on para C.
3. C es MDS.
52
Demostraci
on. [1 2] Por hipotesis, k = n d + 1. Aplicando (3.3.5) se tiene
el resultado.
[2 4] Inmediato de (3.2.5).
[3 4] Es de nuevo consecuencia directa de (3.3.5). Notese que d(C ) =
k + 1.
4.3.6. Corolario. Sea C un [n, k]-c
odigo con matriz generadora G. Entonces
C es c
odigo MDS si y s
olo si cualesquiera k columnas de G son linealmente
independientes.
Demostraci
on. Supongamos primero que C es MDS. Como dim C = k, por
(3.3.5) toda elecci
on de k = n d + 1 columnas es linealmente independiente.
Recprocamente, supongamos que cualquier eleccion de k n d + 1 columnas es linealmente independiente. Como d es el mayor n
umero con esta
propiedad entonces se alcanza la igualdad y C es MDS.
Sobre la existencia de codigos MDS tenemos que hay codigos MDS triviales.
Tomamos d = n y k = n n + 1 o d = 1 y k = n 1 + 1 = n. En general se
tiene lo siguiente.
4.3.7. Teorema. No existen [n, k]-c
odigos q-arios MDS no triviales que verifiquen 1 < k n q.
Demostraci
on. Si k = 1 el codigo ya es trivial. Supongamos que 1 < k
n q. Sea G la matriz generadora y supongamos que esta en forma tpica,
G = (Ik |Aknk ). N
otese que q n k. Considerese cualquier columna de A,
digamos CA .
Supongamos que el peso (CA ) < k. Entonces la matriz G es de la forma,
digamos,
a1i
..
.
G = Ikk
ak1 i
0
y como se ve (tomando en este caso las primeras k 1 columnas de la identidad
m
as la i-esima columna de A), existen k-columnas linealmente dependientes lo
cual es imposible por (4.3.6). Luego toda columna de A tiene todas sus entradas
no cero. N
otese que si F es una matriz de operaciones elementales por columna
que sea multiplicar columnas por escalares no cero entonces F es isometra y por
tanto el c
odigo de matriz generadora GF es equivalente, y como ya hemos visto,
es MDS. La matriz F especfica es aquella que verifica GF (1, j) = 1 para j > k.
Ahora, observese que como q n k y GF (2, j) 6= 0 para todo j > k entonces
la lista GF (2, k + 1), . . . , GF (2, n) ha de tener un elemento repetido. As, si v, u
son la primera y segunda fila de GF , respectivamente, entonces (uv) = nk,
lo cual es imposible, porque C es MDS.
4.4.
53
Otras cotas
d
drn
d
o b drn
c.
d
2. Si q = 2, M 2b 2dn
c.
n
X
Aq (n, d) max
)
Bw
w=0
donde el m
aximo est
a tomado de los {Bw } que satisfacen:
a) B0 = 1 y Bw = 0 para 1 w d 1.
b) Bw 0, para d w n y
Pn
n,q
c)
w=0 Bw Kk (w) 0 para todo 1 k n.
2. Cuando d es par y q = 2,
(
A2 (n, d) max
n
X
)
Bw
w=0
donde el m
aximo est
a 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
Pn
n,2
c)
w=0 Bw Kk (w) 0 para todo 1 k bn/2c.
54
Captulo 5
Tipos especiales de c
odigos
lineales
5.1.
C
odigos de Hamming y c
odigos simplex
C
odigos de Hamming
La construcci
on de los c
odigos de Hamming y algunas de sus propiedades
en el caso binario las hemos visto en captulos anteriores. Vamos a extender la
definici
on.
Sea Fq un cuerpo finito cualquiera y consideremos Frq con r 2.
Llamamos c
odigo 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 . Sar
1
bemos que hay exactamente qq1
(q r son todos, q r 1, porque el < 0 >
tiene dimensi
on 0, y
q r 1
q1
porque los m
ultiplos se absorben).
.
Entonces se tiene:
1. rg (Hq,r ) = r.
2. Sean v1 , v2 Hq,r . Claramente, existe W < v1 , v2 > (la diagonal) tal
que dim W = 1. Sea v3 W un generador de la diagonal. Entonces v3
es combinaci
on lineal de los otros, pero cualesquiera dos son linealmente
independientes, luego (3.3.4) nos dice que (Hq,r ) = 3.
55
CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES
56
i
h r
1 q r 1
, q1 r, 3 -codigo y cualesquiera dos codigos
As que Hq,r es un qq1
construidos de esta manera y con estos datos seran permutacion equivalentes.
Recprocamente
si H es la matriz de control de un codigo, tal que H es de
r
1
orden r qq1
y tal que cada dos columnas existe una tercera que es combinaci
on lineal de las dos anteriores entonces trivialmente, H tiene en sus columnas
a un generador de cada uno de los distintos subespacios de dimension 1; es
decir,hemos probado que.
i
h r
1 q r 1
, q1 r, 3 -c
odigo lineal sobre Fq es un c
odigo
5.1.1. Teorema. Todo qq1
de Hamming.
A
un m
as, cualesquiera dos c
odigos de Hamming con los mismos par
ametros
son permutaci
on equivalentes.
C
odigos simplex
Son
q r 1
q1 , r
-c
odigos lineales cuyos pesos de palabras tiene propiedades no-
q r 1 q r1 1
= q r1 .
q1
q1
Construcci
on alternativa de c
odigos simplex binarios
Hacemos
1
0
1
1
00
11
G2 =
Ahora, para r 3, definimos
0
1
Gr =
Gr1
Gr1
5.2. CODIGOS
DE GOLAY
57
5.2.
C
odigos de Golay
Los c
odigos de Golay fueron propuestos por M. J. E. Golay en 1949. Hay
binarios y ternarios. Los binarios se denotan G24 , un [24, 12, 8]-lineal y G23 , un
[23, 12, 7] c
odigo. El segundo se obtiene pinchando el primero. Los ternarios se
denotan G12 y el G11 .
C
odigos de Golay binarios
Se construye la matriz G24 = (I12 |A1212 ) donde la matriz A tiene una la
caja inferior derecha de 11 11 y se escribe en la primera fila, en la posicion i
un 1 si i es cuadrado m
odulo 11 y un 0 en caso contrario. Despues se hace un
recorrido (shift) en direcci
on (). As que el bloque tiene forma cclica.
A=
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
0
1
1
0
1
1
1
0
0
0
1
58
Con esta matriz G24 genera un codigo que llamaremos codigo de Golay G24 .
Vamos a ver algunas de sus propiedades. Una propiedad importante es que
G24 Gt24 = 0, porque A es binaria, simetrica y con cada fila de peso impar;
luego es nilpotente. A
un mas, lo anterior implica que (A|I) tambien es matriz
generadora de 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 mnimo es 8.
5.2.1. Lema. Si C es un c
odigo auto ortogonal cuya matriz generadora tiene
cada fila con peso m
ultiplo de 4 entonces toda palabra tiene peso m
ultiplo de 4.
Demostraci
on. Basta analizar la Observacion 2.1.8 (3)
Toda palabra de G24 se puede escribir de la forma v = (a|b), con a, b F12
2 .
Adem
as, si v = (a|b) es una palabra, tambien lo sera u = (b|a). Por el lema
anterior todas las palabras de G24 tienen peso m
ultiplo de 4. Vamos a ver que
es estrictamente mayor que 4. Tomemos un v = (a|b). Podemos suponer que
(a) (b). Hay tres casos.
Caso 1. Si (a) = 0, como G24 esta en forma tpica y v = xG24 se tiene
que a = 0 implica b = 0, luego v = 0.
Caso 2. Si (a) = 1 entonces v es una fila de G24 , que tiene peso mayor o
igual a 8.
Caso 3. Si (a) = 2 entonces v es combinacion lineal de dos filas de G24 , y
una comprobaci
on a lo bestia nos da (v) = 8.
Ahora bien, si (a) 3 entonces (b) 3 y como ha de ser m
ultiplo de 4,
ya es mayor o igual a 8.
Por tanto G24 es un [24, 12, 8]-codigo binario.
El c
odigo G23
Por (3.5.2) sabemos que si pinchamos G24 en la u
ltima coordenada (de hecho en cualquiera) y extendemos (a la que pinchamos) entonces recuperamos
el c
odigo original. Pinchando G24 obtenemos un [23, 12, 7]-codigo lineal, que llamaremos G23 .
C
odigos de Golay ternarios
El c
odigo de Golay ternario G12 es el [12, 6]-codigo sobre F3 con matriz
G12 = (I6 |A), donde
1
1
1
1
1
0
1
0
1 1 1
1
A=
1
0
1 1 1
1
1 1
1
0
1 1
1 1 1
1
0
1
1
1 1 1
1
0
5.3. CODIGOS
DE REED-MULLER (BINARIOS)
59
5.3.
C
odigos de Reed-Muller (binarios)
Construcci
on
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).
Les llamaremos c
odigos RM de longitud 2m . Lo haremos por induccion:
m
Primer paso: R(0, m) es el c
odigo de repeticion y R(m, m) = F22 , el espacio
completo.
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
CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES
60
y luego,
G(r, m 1)
G(r, m 1)
G(r, m) =
0
G(r 1, m 1)
Una de las grandes ventajas de los codigos RM es que sus parametros se
calculan por f
ormula.
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 dimensi
on es
dimF2 (R(r, m)) =
r
X
m
i=0
dim R(m, m) = 2
m
X
m
i=0
= (1 + 1) .
Por (3.5.6) sabemos que dim R(j, m) = dim R(j, m1)+dim R(j 1, m1).
Usando esta igualdad, la hipotesis de induccion, que es
dim R(j, m 1) =
j
X
m1
i=o
y dim R(j 1, m 1) =
j1
X
m1
i=o
j
X
m
i=o
5.3. CODIGOS
DE REED-MULLER (BINARIOS)
61
y
d (R(r 1, m 1)) = 2m1(r1) = 2mr
entonces
2d (R(r, m 1)) = d (R(r 1, m 1)) = 2mr
y se tiene el resultado.
(4) Que R(m,
m) = 0 es obvio. El otro lo haremos por induccion.
m
m
Como i = mi
entonces
dim R(m r 1, m) =
mr1
X
j=0
m
=
j
m=(m0)
X
r+1=m(mr1)
m
.
j
Luego
dim R(r, m) + dim R(m r 1, m) =
r
X
m
0
m
X
m
r+1
= 2m .
R(r, m)
62
Captulo 6
Cuerpos finitos
6.1.
=
=
(n)
(m)
(n)
1+ +1 + + 1+ +1
(m)
(m)
(n)+ +(n) = (factorizo) = (n) 1+ +1
(nm)
1+ +1 =
= (n)(m)
63
64
6.1.3. Observaci
on. Para todo cuerpo K, Car (K) = mn {n N | (n) = 0}.
6.1.4. Proposici
on. Sea K un cuerpo finito. Entonces Car (K) es un n
umero
primo.
Demostraci
on. Inmediato del hecho de que Z/ ker , K. (Todo dominio finito
es un cuerpo.)
6.1.5. Corolario. Si F es un cuerpo tal que |F| = p, con p primo, entonces
F
= Zp .
As que podemos hablar de el cuerpo con p elementos.
6.1.6. Notaci
on. Sea p un n
umero primo. Denotamos con Fp al cuerpo con p
elementos.
6.1.7. Observaci
on. Si F es un cuerpo de caracterstica p entonces claramente
Fp , F.
6.1.8. Definici
on. En la situaci
on anterior, a la imagen de Fp se le llama el
subcuerpo primo de F.
M
as adelante veremos que es u
nico.
6.1.9. Definici
on. Sea K/F una extensi
on. El grado de la extensi
on es la dimensi
on que tiene K como F-espacio vectorial. Se denota [K : F].
6.1.10. Definici
on. Una extensi
on K/F decimos que es finita si el grado es un
n
umero 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).
Demostraci
on. Trivial; ademas, t = dimFp (F).
6.1.12. Notaci
on. A partir de ahora, p se reserva para un n
umero primo y q,
para alguna potencia del primo p.
6.1.13. Proposici
on. Sea F un cuerpo con Car (F) = p. Entonces, para cualesquiera r, s F se tiene
pt
(r + s)
= rp + sp .
Demostraci
on. Inmediato del binomio de Newton, pues
t (
0 si i 6= 0, pt
p
=
i
1 otro caso.
en F.
Por la proposici
on anterior, se tiene entonces que la correspondencia r 7 rp
es un automorfismo.
6.2. POLINOMIOS Y NUMEROS
ALGEBRAICOS
65
6.1.14. Definici
on. El automorfismo r 7 rp de Fp se conoce como el automorfismo de Frobenius. Se denota p .
M
as adelante veremos que todo automorfismo de un cuerpo finito es potencia
del automorfismo de Frobenius.
6.1.15. Teorema. Para todo cuerpo F, el grupo multiplicativo F = (F, ) es
cclico.
Demostraci
on. Suponemos que |F| = q > 3, si no, se hacen las cuentas.
m
1
on en factores primos. RecordeSea h = q 1 = p
1 pm la descomposici
mos que q 1 = |F |.
h
Para cada 1 i m, consideremos el polinomio X pi 1. Este polinomio
tiene a lo m
as, phi -races en F. Como phi < h, entonces que hay elementos en F
h
(h/pi i )
Ahora, hacemos bi = ai
(h/pi i )
. Es claro que ai
6= 1; ademas, bi i = ah =
(h/p
(i i )
i
cualquier 0 i , ai i
6= 1,
1; luego o (bi ) | p
i . Por otra parte,
Qpara
m
i
luego o (bi ) = pi . Hacemos b = i=1 bi . Finalmente, se puede comprobar de
forma directa que o(b) = h.
6.2.
Polinomios y n
umeros algebraicos
6.2.1. Definici
on. Sea K/F una extensi
on. Un elemento K decimos que
es algebraico 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 no
constante. Entonces existe una extensi
on K/F donde f tiene una raz.
Demostraci
on. Sea g un factor irreducible de f . Entonces F[X]/hgi = K es
g
un cuerpo. Claramente, la composicion F , F[X] K es homomorfismo
inyectivo de anillos con uno, donde k 7 kX 0 7 k + hgi. Hagamos = X + hgi
y notemos que la evaluaci
on g() = g (g) = 0, por lo que es una raz de g y
en consecuencia, de f .
6.2.3. Corolario. Si f F[X] entonces existe una extensi
on K/F donde f
tiene todas sus races, que son, como sabemos, salvo multiplicidad, gr(f ).
66
Demostraci
on. Basta notar que se pueden ir construyendo K1 K2 Kn
extensiones con el teorema de Kronecker, con 1 , . . . n , las races construidas
en dicho resultado. El proceso se detiene cuando se llega, digamos, a Kn (con
n gr(f )), el primero que tiene todas las races. La factorizacion del polinomio
por las races hace el resto.
En la situaci
on anterior, si gr(f ) = n, se tiene que Kn = F (1 , . . . , n ).
2
2
6.2.4. Ejemplo. Hacemos
F = Z2 , f = X +X +1. Sea tal que ++1 = 0.
Entonces 3 = 1. F4 = a + b | 2 + + 1 = 0 ; a, b F es una extension
de Z2 de cuatro elementos. Podemos hacer las tablas de sumar y multiplicar.
6.2.5. Definici
on. Sea F un cuerpo y f F[X]. Un cuerpo de descomposici
on
de f sobre F es aquel generado por F y todas las races de f .
6.2.6. Teorema. Sea K/F una extensi
on y K, algebraico sobre F. Entonces
existe un polinomio m = m (X) = Irr(, K) tal que:
1. m tiene grado mnimo con la propiedad m () = 0.
2. Si f () = 0 entonces m | f .
3. m puede elegirse m
onico.
4. m es irreducible.
Demostraci
on. Se considera I = {p F[X] | p() = 0}. Como F[X] es un
es
DIP, se tiene que I es principal. Elegimos el u
nico generador monico. Ese
m (X) y se tiene I = hm i. Es inmediato comprobar que se cumplen las primeras tres condiciones. Para comprobar que es irreducible en F[X], recordemos
(X)
que si m (r) = 0, con r F, entonces m
en vivira en I y tendra
(Xr) tambi
grado menor, lo cual es imposible.
6.2.7. Definici
on. Sea F un cuerpo y un elemento algebraico sobre F. Al
polinomio m se le llama polinomio mnimo de sobre F.
Las races est
an agrupadas en potencias del orden del cuerpo, como establece
el siguiente resultado.
6.2.8. Proposici
on. Sea K/F una extensi
on y K una raz de f F[X]. Si
|F| = q entonces q es raz de f .
Demostraci
on. Inmediata del Lema 6.1.17.
6.2.9. Definici
on. Sea K/F una extensi
on. Dos elementos de K decimos que
son conjugados en F si sus polinomios mnimos sobre dichos cuerpos coinciden.
6.2.10. Teorema. Sea f F[X] irreducible de grado r > 1. Entonces
1. Si K es un cuerpo de descomposici
on de f en F entonces [K : F] = r.
2. Todas las races de f son simples y dadas por los r elementos distintos
, q , . . . , q
donde es cualquier raz de f .
r1
67
s1
Y
X q
i=0
s
6.3.
Existencia y unicidad.
En esta secci
on vamos a demostrar la existencia y la unicidad de los cuerpos
finitos. Lo haremos en dos partes. Primero probaremos el resultado para cuerpos
de escisi
on y luego lo aplicaremos a los cuerpos finitos en general. De hecho,
veremos que todo cuerpo finito es un cuerpo de descomposicion o escision. Ya
hemos probado su existencia. Vamos a probar la unicidad.
6.3.1. Teorema [Unicidad del cuerpo de escisi
on]. Sea F un cuerpo y f
F[X]. Cualesquiera dos cuerpos de descomposici
on de f sobre F son isomorfos.
Demostraci
on. 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 una
extensi
on tal que posee una raz de f , digamos l L. Se considera cualquier
factor irreducible g de f tal que g(l) = 0. Por otra parte, existe i K tal que
g(i ) = 0. Entonces, los subcuerpos F(i ) y F(l) son isomorfos a F[X]/hgi y el
isomorfismo compuesto entre ellos es la correspondencia i 7 l. A partir de ah,
68
si hay m
as races en L seguimos extendiendo hasta obtener K , L. De aqu el
resultado es inmediato.
6.3.2. Notaci
on. Dado un cuerpo F y un polinomio f K[X], podemos hablar
de el cuerpo de descomposici
on 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 X q X Fp [X] se factoriza como
Xq X =
(X r) ;
rF
6.4. EJEMPLOS
69
q s 1
q1
se tiene que
o
n
Fq = 0, 1, k , 2k , . . . , (q1)k1
y adem
as Fqs = Fq () = Fp (). De inmediato se desprende entonces que
6.3.9. Teorema. Toda extensi
on L/K de cuerpos finitos es algebraica y simple.
Demostraci
on. Inmediato del hecho de que 1 + + + q1 = 0.
As que los cuerpos fintos est
an organizados en torres mas o menos as (con
contenciones
unicas)
Fp4
Fp6
Fp9
* 6
*
6
Fp2
Fp3
...
YH
H
6
*
HH
Fp
6.4.
Ejemplos
70
X2 X
X (X + 1) X 2 + X + 1 X 4 + X 3 + 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 y
2 no sirven. Vamos a los de grado 4. Sean una raz cualquiera
de alguno de los
o
2
22
23
polinomios de grado 4. Las races seran , , ,
.
Ahora tenemos dos caminos:
Primero. Hacemos,
X4 + X3 + 1
2
3
X + 2
X + 2
= X 4 + + 2 + 4 + 8 X 3 +
+ 3 + 5 + 6 + 9 + 10 + 12 X 2 +
7 + 11 + 13 + 14 X + 15
(X + ) X + 2
=
=
=
=
=
=
=
=
=
=
=
=
1 + 3
+ 4
+ 2 + 4
+ 2 + 3 + 4
+ 2 + 3
2 + 3 + 4
+ 3
2 + 4
+ 3 + 4
+ 2
2 + 3
3 + 4
=
=
=
+ 1 + 3
+ 2 + 1 + 3
+ 2 + 3 + 1 + 3
= 1 + + 3
= 1 + + 2 + 3
= 1 + + 2
2 + 3 + 1 + 3
=
=
2 + 1 + 3
+ 3 + 1 + 3
= 1 + 2 + 3
= 1+
1 + 2
Como hemos visto, podemos tambien pasar a F24 , extendiendo F22 en vez
de F2 . Veamos.
71
Tenemos F22 = 0, 1, , 2 , y q = 22 = 4. Sabemos que F24 es una extension
que se construir
a con un irreducible de grado 2 = [F24 : F22 ]. Esos irreducibles
2
ser
an divisores de X q X o sea,
2
X 4 X = X (X + 1) X 2 + X + 1 X 4 + X 3 + 1 X 4 + X + 1
X4 + X3 + X2 + X + 1 =
= X (X + 1) (X + ) X + 2 X 2 + X +
X 2 + 2 X + 2 X 2 + X + X 2 + X + 2
X 2 + X + 1 X 2 + 2 X + 1 .
Ahora usamos cualquier irreducible de grado 2, como por ejemplo, la primera,
X 2 + X + y consideramos una raz (un smbolo que verifica la ecuacion
anterior), digamos .
Tenemos
2 + + = 0 y 2 + + 1 = 0.
De aqu sacaremos toda la tabla.
Entonces F24 = {a + b | a, b F22 ; y las relaciones anteriores}
Vamos a hacer tambien la tabla completa para construir todo otra vez como
potencias de .
Tenemos
0, 1,
y adem
as,
2
3
4
5
6
7
8
y as...
9
10
11
12
13
14
6.5.
=
=
=
=
=
=
=
+
2
2
2
25
2
4
= = 2 +
= = +
= = 2 + 2
= = 1 +
= 2 +
= 2
= 2
= 1+
= + 2
= 1 + 2
El anillo F[X]/(X n 1)
72
Fqk posee un (
unico) subgrupo cclico de orden n, digamos, . Sea
cualquier generador;
es decir, una raz 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.
q
A
un m
as, como para todo f F[X] ocurre que f iq = f i entonces
tambien ocurrir
a que cada clase q-ciclotomica corresponda con un solo polinomio
mnimo; es decir,
6.5.5. Teorema. Sea Fqr una raz n-esima de 1 (entonces mcd(n, q) = 1).
Entonces:
1. Para cada 0 s n el polinomio mnimo de s en Fq se factoriza en
Fqr [X] como
Y
ms (X) =
X i
iCs
73
Demostraci
on. Es consecuencia directa de (6.2.10). Veamos. Sea = s y sum1
pongamos que gr(m ) = m. Por dicho teorema, , . . . , q
son todas las races
qm
de m y adem
as, por el argumento de la demostracion,
se
cumple
que
=
m1
y m es el primero con la propiedad. De ah que Cs = s, sq, . . . , sq
. Notes
que gr(m ) = |Cs |.
Sea una raz n-esima primitiva de 1. Se considera S un juego completo
de representantes de las clases q-ciclot
para cada s S,
Q omicas. Claramente,
n
s
s esPraz de X n
1
y
por
tanto
m
(X)
|
(X
1).
Finalmente, como
sS
P
n = sS |Cs | = sS gr (ms ) se tiene la igualdad.
6.5.6. Observaciones. Ahora vamos a hacer una lista de hechos que sabemos
o podemos probar muy f
acilmente:
1. Si mcd(n, q) = 1 entonces X n 1 no tiene races m
ultiples.
2. Sea Rn = F[X]/(X n 1). Si I Rn , existe g F[X], monico, tal que
g | (X n 1) e I = hgi.
3. Si g h | X n 1 entonces g y h son coprimos (no hay races m
ultiples) y
por tanto existen a, b F[X] tales que 1 = ag + bh.
4. En Rn , si ocurre 1 = ag + bh, con gh = 0 entonces e = ag es idempotente,
con bh = 1 e.
5. Por tanto, Rn es semi simple y conmutativo. Por el Teorema de Wedderburn Rn es producto de cuerpos. (Esto tal vez no se conozca, pero lo
veremos explcitamente.)
6.5.7. Definici
on. Sea I un ideal de Rn . Al polinomio m
onico g | X n 1 de
la Observaci
on 6.5.6.2 se le conoce como polinomio generador de I.
Vamos ahora a establecer la relacion entre los ideales del anillo Rn y las
clases q-ciclot
omicas de las races n-esimas de la unidad. Consideremos la situaci
on de la Observaci
on 6.5.4, donde k puede ser elegido de tal manera que sea
precisamente el orden multiplicativo de q, modulo n.
6.5.8. Definici
on. En la situaci
on del p
arrafo anterior, sea I un ideal de Rn
y Fqk una raz n-esima primitiva de la unidad.
1. El conjunto de ceros de I es
Z (I) = i | p i = 0, p I
2. El conjunto de no ceros de I son aquellos j 6 Z(I).
6.5.9. Teorema. Sean q una potencia de un primo p; n, k n
umeros naturales,
tales que (n, q) = 1 y k es el orden multiplicativo de q, m
odulo n. Sean {Ci } las
clases q-ciclot
omicas de q, m
odulo n, y Fqk una raz n-esima primitiva de
la unidad. Entonces
74
1)
/ ((mi )/(X n 1)).
= q
Sabemos que las identidades de Bezout vistas se pueden extender a mas
sumandos, as que
6.5.12. Teorema. Sean n y q, coprimos, como siempre. Sean Ci1 , . . . , Cis las
distintas clases q ciclot
omicas de la unidad, con i1 , . . . , is un juego completo
de representantes. Sea una raz n-esima primitiva de la unidad y sea
Qs mj el
polinomio mnimo de ij . Considerese la descomposici
on X n 1 = i=1 mi .
n
Hacemos uj = Xm1
. Entonces
j
75
1. Rn = Rn u1 Rn us .
2. Rn ui
= Fqgr(mi ) .
Demostraci
on. Inmediata.
Como gr(mi ) = |Ci | entonces se tiene
6.5.13. Corolario. Sean C1 , . . . , Cs las distintas clases q-ciclot
omicas m
odulo
n. Entonces
s
Y
n
F[X]/(X 1) =
F |Ci | .
q
i=1
m1 = X + 1
m2 = X 3 + X 2 + 1
m3 = X 3 + X + 1
u1 = X 6 + + X 2 + X + 1
u2 = X 4 + X 3 + X 2 + 1
u3 = X 4 + X 2 + X + 1
76
6.6.
Automorfismos
6.6.1. Definici
on. El grupo de Galois, como siempre, es Gal (F) el grupo de
los automorfismos junto con la composici
on.
Si Fqs /Fq es una extensi
on, denotamos con Gal (Fqs /Fq ) los automorfismos
de Gal (Fqs ) que dejan fijo a Fq .
Por (6.1.14) se tiene
6.6.2. Observaci
on. Un automorfismo de Frobenius es un elemento
p Gal (Fpr ) .
N
otese que pr = p .(r)
. . p tiene sentido.
Vamos a describir a Gal (Fq ).
N
otese que Gal (Fq ) = Gal (Fq /Fp ).
6.6.3. Teorema. Sea p un n
umero primo y r N. Entonces, Gal (Fpr ) = hp i.
En consecuencia, es un grupo cclico de orden r.
Demostraci
on. Hacemos q = p y consideramos Fqr un elemento primitivo
y m su polinomio mnimo en Fq . Sabemos que para cada Gal (Fq ), ()
r1
es raz de m y que esas races son , q , . . . , q , as que no hay mas que
r-distintos automorfismos de hp i = Gal (Fqr ).
6.6.4. Corolario. Sea q = pt y 0 n t. Entonces {x Fq | pn (x) = x} =
Fpmcd(n,t) .
Demostraci
on. Inmediato del hecho de que {x Fq | pn (x) = x} es un subcuerpo.
Captulo 7
C
odigos cclicos
7.1.
Conceptos b
asicos
7.1.1. Definici
on. Un [n, k]-c
odigo lineal C sobre F se llama c
odigo cclico si
cumple que es cerrado para permutaciones cclicas; es decir,
(x0 , . . . , xn1 ) C (xn1 , . . . , xn2 ) C.
7.1.2. Ejemplos. Vamos a ver algunos ejemplos muy simples
1. El c
odigo total y el trivial.
2. El c
odigo de repetici
on.
3. El {(0000) , (1010) , (0101) , (1111)}, de dimension 2.
4. El h{(1100) , (0110) , (0011)}i en F42 .
5. Sea P la matriz de permutacion cclica; es decir,
0 I
P =
1 0
y X Fn un subconjunto arbitrario. Entonces XP i | i N sera un
c
odigo cclico.
6. Un c
odigo que no es cclico es {(0000) , (1100) , (0011) , (1111)}. Notese
que es cerrado bajo recorridos de dos en dos; de hecho, es permutacion
equivalente a un cclico.
7.1.3. Proposici
on. Un c
odigo lineal C Fn es cclico si y s
olo si el ortogonal,
C es c
odigo lineal cclico.
Demostraci
on. Sea P la matriz de permutacion cclica. Entonces y C
i
y xP = 0 para todo x C y para todo i N.
Por la definici
on, la matriz de permutacion es ortogonal;
es decir, P P t = I.
t
n
i t
ni
i
Como P = I entonces (P ) = P
. As, 0 = yP x = y xP ni = 0.
77
CAPITULO 7. CODIGOS
CICLICOS
78
7.2.
C
odigos cclicos y anillos de polinomios
Seguimos suponiendo que mcd(n, p) = 1. Considerese Fn con la base canonica En y Rn = Fn /(X n 1), como hemos estudiado, con su base canonica
Xn = 1, X, X 2 , . . . , X n (abusando de notacion, porque deberan de tener
barras).
Sea : En Xn tal que (ei ) = X i1 , i = 1, . . . , n. Esta correspondencia
induce un isomorfismo
: Fn Rn
que dejaremos en notacion fija.
7.2.1. Proposici
on. En la situaci
on anterior (con fija), sea C Fn un
c
odigo lineal. Entonces C es cclico si y s
olo si (C) es ideal en Rn .
Demostraci
on. Inmediata del siguiente diagrama conmutativo.
Fn
- R
n
1
x o x
?
n
1
?
Rn
Como ejemplos de codigos cclicos tenemos los ideales obtenidos en el Ejemplo 6.5.15.
Como hemos comentado, la definicion de codigo cclico nos impide ver al
c
odigo
D = {(0000) , (1100) , (0011) , (1111)}
como cclico, a pesar de que sabemos que el operador que mueve dos veces las
coordenadas los deja invariante.
Si consideramos : F4 R4 con (e1 ) = 1, (e2 ) = X 2 , (e3 ) =
X, (e4 ) = X 3 se puede comprobar facilmente que (D) es ideal en Rn .
A
un m
as, los u
nicos isomorfismos entre Fn y Rn que pueden interesar han
de preservar pesos y en consecuencia mandaran la base canonica Fn en la de
Rn , pues son los u
nicos con peso 1.
7.2.2. Proposici
on. Un c
odigo C Fn lineal es equivalente a un c
odigo cclico
si y s
olo si existe un isomorfismo entre Fn y Rn que restringe a una biyecci
on
de las bases can
onicas.
Demostraci
on. Inmediata.
A partir de ahora, cuando digamos que C es un codigo cclico, entenderemos
C Rn = Fn , abusando de las notacion.
7.2. CODIGOS
CICLICOS Y ANILLOS DE POLINOMIOS
79
7.2.3. Observaci
on. Repasemos lo que acabamos de ver sobre los ideales en
Rn . Fijamos una raz n-esima primitiva de la unidad, digamos , y consideramos
las clases q-ciclot
omicas m
odulo n, Ci1 , . . . , Cis , con S = {i1 , . . . , is } un juego
completo de representantes. Sean, como siempre, mj = mji (X) los polinomios
n
kS2
kS2
kS2
|Ck |.
7.2.4. Proposici
on. Sea C un c
odigo cclico en Rn con polinomio generador
Pnk
g(X) = i=0 gi X i ; es decir, gr(g) = n k. Entonces
1. dimF C = k.
2. g(X), x g(X), . . . , xk1 g(X) es base para C.
3. La matriz a continuaci
on
g0 g1
0 g0
G=
es generadora de C,
..
.
gnk
0
gnk
g0
..
.
gnk
kn
Demostraci
on. 1. Acabamos de verlo en la Observacion 7.2.3. P
k1
2. Es inmediato por el hecho de tener todos grados distintos. Si i=0 ri X i g(X) =
n1
0 entonces rk1 gnk X
= 0, luego rk1 = 0. Repitiendo el argumento se tiene
r0 = = rk1 = 0.
3. Es la matriz generadora de la base anterior.
Una vez que tenemos la matriz generadora queremos la matriz de control.
7.2.5. Definici
on. Sea C un c
odigo cclico en Rn con polinomio generador
g(X). Llamaremos polinomio de control de C a
h(X) =
Xn 1
g(X)
es decir, gh = X n 1 en F[X].
Usando h podemos dar una matriz de control muy facil.
CAPITULO 7. CODIGOS
CICLICOS
80
Pk1
7.2.6. Teorema. Sea C Rn c
odigo cclico y h = i=0 hi X i su polinomio
de control. Entonces la siguiente matriz es matriz de control para C,
hk hk1 h0 0 0
0
hk
h0
H=
;
.
.
..
..
hk
h0
nkn
es decir,
H = (aij )nkn
0
| aij = hk(ji)
si j i < 0
si 0 j i k
si k < j i
Demostraci
on. Sea c = c(X) un elemento de C. Entonces c = gp, donde g es
el generador, y g un polinomio en Rn con grado estrictamente menor que k,
pues la suma de sus grados no puede pasar de n y g tiene grado n k (esto
siempre se puede conseguir con un representante adecuado). Entonces hc =
hgp = (X n 1)p. Veamos que el polinomio (X n 1) q tiene todos los
Pcoeficientes
0
de los terminos de grado k, . . . , n 1 cero. Supongamos
que
p
=
X i,
P
P i=00 k pin+i
0
n
n
0
i
con k < k. Entonces (X 1)p = p+X p = i=0 k pi X + i=0 k pi X
,
o sea, que X k , . . . , X n1 tienen coeficientes 0.
Es inmediato hacer la cuenta y ver que en el producto hc los coeficientes de
los grados k, . . . , n 1 son precisamente las entradas del producto
p0
H ... = 0
pn1
por tanto H es matriz de control.
Observese entonces que C no necesariamente esta generado por h.
Pm
7.2.7. Definici
on. Para un polinomio f (X) = i=0 ai X i , se define
m
m
X
X
ai X mi
f ? (X) = X m f X 1 = X m
ai X i =
i=0
i=0
hi X i .
7.3. CEROS DE UN CODIGO
CICLICO Y MATRIZ DE CONTROL
7.3.
81
Ceros de un c
odigo cclico y matriz de control
Sea C un c
odigo cclico de orden n sobre F = Fq , con mcd(n, q) = 1, sea una
raz n-esima primtitiva de 1, y sea S un juego completo de representantes de las
clases q-ciclot
omicas m
odulo n. Sea g(X) el generador de C (Observacion 6.5.6).
Como sabemos (6.5.5) si g(X) | X n 1 entonces
Y
g=
mt .
tT S
7.3.1. Definici
on. En la situaci
on anterior. Definimos.
1. Los ceros de C son las races de g; es decir,
{ a | a Ct , t T } .
2. Los no ceros son las races de h =
X n 1
g ,
es decir el conjunto
b | b Cs , s S \ T
7.3.2. Observaci
on. Sea C un codigo cclico. Entonces los ceros de C son
precisamente los inversos de los no ceros de C. La razon es la siguiente. Es
inmediato comprobar que si es raz de un polinomio f (X) entonces 1 es raz
de f (X); basta ver la definici
on en (7.2.7).
Usando los ceros de un c
odigo cclico podemos construir una matriz de control.
Consideramos a C Rn sobre F = Fq , con mcd(n, q) = 1, con polinomio
generador g y sea, usando la notacion de la definicion anterior, T = {t1 , . . . , td }.
Vamos a formar la matriz
1 t1 2t1 . . . (n1)t1
..
L=
(7.3.1)
.
1
td
2td
...
(n1)td
|T |n
L=
t1
td
2t1
..
.
...
2td
...
(n1)t1
(n1)td
|T |rn
(7.3.2)
CAPITULO 7. CODIGOS
CICLICOS
82
!
n1
r
r
n1
X X
X
X
0=
aji uj ci =
uj
aji ci
i=0
j=1
j=1
i=0
7.4.
Codificaci
on y decodificaci
on en c
odigos
cclicos
Como hip
otesis general, supongamos que tenemos un codigo cclico C
Rn tal que C = hgi, con g el polinomio generaodr, con gr(g) = r, as que la
dimensi
on dim C = n r.
Comenzamos con la codificacion. Vamos a ver una decodificacion sistematica.
Supongamos que queremos codificar la palabra a0 anr1 .
Pnr1
1. Hacemos a(X) = i=0 ai X ni1
2. Luego operamos a(X) = pg + s, con gr(s) < r.
3. Finalmente hacemos c = a s = pg.
Para decodificar, se puede proceder de la siguiente manera.
1. Se recibe un vector p Rn .
2. Se divide p = gs + t, con gr(t) < r. Es claro que si p = c + e, entonces
existe s0 Rn tal que p = c0 g + e. La unicidad del algoritmo de la division
nos dice que c = c0 ; luego p t es la palabra buscada.
Esta decodificaci
on es en realidad una decodificacion por sndrome. Vamos a
comprobar que existe una matriz de control cuyos sndromes son precisamente
los restos obtenidos.
Considerese para i = 0, . . . , n 1, la expresion X r+i = gsi + ti , obtenidos
con el algoritmo de la division. Se puede comprobar facilmente que los X r+i
ti = gsi son una base para C. Por los grados de los terminos lderes tenemos
independencia lineal, y por el n
umero de elementos tenemos
Pr1 que es base.
Ahora, escribimos una matriz generadora. Si ti = j=0 ti,j X j
t0,0
t1,0
G=
tnr1,0
t0,r1
t1,r1
1
0
..
.
0
1
...
...
tnr1,r1
...
0
0
= (T | I)
Y DECODIFICACION
EN CODIGOS
7.4. CODIFICACION
CICLICOS 83
Esta
tambien es una matriz de codificacion sistematica, en forma tpica;
as que la matriz de control es H = (I | T t ). Uno puede comprobar con un calculo
Pr
Pnr1
directo que para un polinomio recibido u = j=0 X j + i=0 ur+i X r+i , se
tiene que H(u0 , . . . , un1 )t son justo los coeficientes del resto de la division
u = gs + t.
84
CAPITULO 7. CODIGOS
CICLICOS
Captulo 8
C
odigos cl
asicos que se
realizan como c
odigos
cclicos
8.1.
C
odigos de Hamming
Recordemos la definici
on de c
odigo de Hamming. Hq,r tiene matriz de control
de cada matriz de dimension 1 de Fqr
Hq,r =
tomo un vector y lo pongo
y sabemos que hay exactamente
q r 1
q1 .
8.1.1. Observaci
on. Sea H una matriz tal que
.
H = H1 H qr 1
r 1
q1
]
[r qq1
Si las columnas son linealmente independientes
2 a 2 entonces
H es la matriz
h r
i
1 q r 1
de control de un c
odigo de Hamming, un qq1
, q1 r, 3 -codigo.
8.1.2. Teorema. Todo c
odigo de Hamming es cclico
r
1
Demostraci
on. Hacemos n = qq1
. Vamos a ver primero que Fqr es el cuerpo
n
de escisi
on de X 1 sobre Fq . Notese primero que n(q 1) = q r 1 y n =
1 + + q r1 , de donde n > q r1 1. Ahora considerese una raz de X n 1,
r
digamos . Entonces n = 1, luego n(q1) = 1, as que q = , de donde Fqr
contiene al cuerpo de escisi
on, pero n > q r1 1 as que debe ser justo el cuerpo
de escisi
on.
Ahora, sea una raz n-esima primitiva de la unidad y considerese la matriz
L = 1 (n1)
85
CAPITULO 8. CODIGOS
CICLICOS CLASICOS
86
y expresemos esos elementos como se hizo en la Seccion 7.3 de los ceros, viendo
Fqr como Fq espacio vectorial,
H = 1 (n1)
N
otese que Frq tiene exactamente n-subespacios de dimension 1 y como ese
es precisamente el n
umero de columnas de H, basta ver que cualesquiera dos
columnas 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 (ij) = 1, as que
(q1)
a (ij)
= 1. Pero a Fq , luego aq1 = 1, as que (ij)(q1) = 1, de
donde n | (i j)(q 1); pero mcd(n, q 1) = 1, luego i = j.
8.2.
C
odigos BCH
8.2. CODIGOS
BCH
87
Adem
as, el c
odigo generado por (1 X)g es el subcodigo cclico de las palabras de tipo par de C, que obviamente, ta,bien es un codigo BCH, de hecho,
es Bq (n, + 1, , 0).
El siguiente resultado es un verdadero clasico de los codigos.
8.2.4. Teorema [Cota BCH]. Sea C un [n, k, d]-c
odigo cclico sobre F y sea
n
una raz n-esima primitiva de la unidad en el cuerpo de escisi
on de X 1
i
sobre F. Si existen b 0 y 1 tal que | b i b + 2 son ceros de
C, entonces d .
Demostraci
on. Sea Z = i | b i b + 2 un subconjunto de los ceros
del c
odigo, digamos ij | j = 0, . . . , k . Si M es la matriz formada por los
ceros (en la extensi
on de Fq y p = (p0 , . . . , pn1 ) es un vector de corficientes de
un polinomio en el c
odigo, se tiene que M p = 0; es decir
( i0 )0
( i0 )
...
( i0 )n1
0
..
p0
b
b n1
( b )0
(
)
.
.
.
(
)
p1 ..
.
..
.. =
.
.
( b+2 )0 ( b+2 ) . . . ( b+2 )n1
pn1
.
..
0
( ik )0
( ik )
...
( ik )n1
Escogemos una palabra p C de modo que su peso sea mnimo; es decir,
(p) = d. Elegimos un subconjunto {c1 , . . . , cd } del conjunto de columnas de
las filas correspondientes a las entradas que comienzan con b , . . . , b+2 y con
eso formamos la matriz D.
( b )c1
...
( b )cd
..
D=
.
( b+2 )c1
...
( b+2 )cd
Si p0 es el vector proyecci
on de p en los ndices de las columnas elegidas,
podemos ejecutar el producto y obtenemos Dp0 = 0. Si ocurre que d 1,
podemos extraer la submatriz
( b )c1
...
( b )cd
..
=
.
( b+d1 )c1
...
( b+d1 )cd
CAPITULO 8. CODIGOS
CICLICOS CLASICOS
88
Demostraci
on. Inmediato de la definicion de codigo BCH y de (6.5.12 y 6.5.13).
8.2.7. Ejemplo. Consideremos los codigos BCH binarios y restringidos de orden 31; es decir, B2 (31, , ). Puede recorrer 2 29.
Para determinar los codigos primero consideramos las clases 2-ciclotomicas
m
odulo 31. Estas son:
C0
{0}
C1
{1, 2, 4, 8, 16}
C3
C5
C7
C11
C15
1
3
5
7
9 y 11
13 y 15
17, . . . , 31
g(X)
m0
m
m m3
m m3 m5
m m3 m5 m7
m m3 m5 m7 m9
X 31 1
Ci involucradas
C0
C1
C1 , C3
C1 , C3 , C5
C1 , C3 , C5 , C7
C1 , C3 , C5 , C7 , C9
C1 , . . . , C15
dimF2 C
31
26
21
16
11
6
1
(C)
1
3
5
7
11
15
31
8.3. CODIGOS
DE REED-SOLOMON
8.3.
89
C
odigos de Reed-Solomon
90
CAPITULO 8. CODIGOS
CICLICOS CLASICOS
Bibliografa
[1] J. Ad
amek, Foundations of Coding, Wiley, Chichester, 1991.
[2] H. Fripertinger. Enumeration of the semilinear isometry classes of linear
codes, en A. Kerber y A. Kohnert, ed., ALCOMA05, Proceedings of the
Conference on Algebraic Combinatorics and Applications, Designs and
Codes, Thurnau, Germany, 2005. Bayreuth. Math. Schr., vol. 74, p. 100122, 2005.
[3] W.C. Huffman y V. Pless, Fundamentals of Error Correcting Codes, Cambridge, 2003.
[4] F. J. MacWilliams y N. J. A. Sloane, The Theory of Error Correcting
Codes, North-Holland, Amterdam, 1986.
[5] C. Munuera y J. Tena, Codificaci
on de la Informaci
on, Universidad de
Valladolid, 1997.
[6] V. Pless, Introduction to the Theory of Error-Correcting Codes, Wiley,
1982.
[7] O. Pretzel, Codes and Finite Fields, Clarendon, 1992.
[8] J. Rif
a y Ll. Huguet, Comunicaci
on Digital, Masson, 1991.
[9] Derek J. S. Robinson, A Course in the Theory of Groups, Springer, Nueva
York, 1996.
[10] S. Roman, Coding and Information Theory, Springer, Nueva York, 1992.
[11] S. Roman, Introduction to Coding and Information Theory, Springer,
1992.
[12] J. H. van Lint, Introduction to Coding Theory, Springer, Nueva York, 1982.
91