Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Master 2011-2012
2
Indice general
1. Informaci on y codigos 5
1.1. La transmision de la informacion . . . . . . . . . . . . . . . . . . 5
1.2. Medida de la incertidumbre y de la
informacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Capacidad de un canal con interferencias . . . . . . . . . . . . . . 14
1.4. Codigos correctores de errores . . . . . . . . . . . . . . . . . . . . 19
1.5. Teorema de Shannon . . . . . . . . . . . . . . . . . . . . . . . . . 22
3. Codigos lineales 35
3.1. Conceptos b asicos . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2. Codigos duales u ortogonales . . . . . . . . . . . . . . . . . . . . 38
3.3. Pesos y distancias . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4. Codificacion y decodificacion en codigos
lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5. Construcciones con c odigos lineales . . . . . . . . . . . . . . . . . 46
3
4 INDICE GENERAL
6. Cuerpos finitos 63
6.1. Suma y producto en cuerpos finitos . . . . . . . . . . . . . . . . . 63
6.2. Polinomios y numeros algebraicos . . . . . . . . . . . . . . . . . . 65
6.3. Existencia y unicidad. . . . . . . . . . . . . . . . . . . . . . . . . 67
6.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.5. El anillo F[X]/(X n 1) . . . . . . . . . . . . . . . . . . . . . . . 71
6.6. Automorfismos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7. Codigos cclicos 77
7.1. Conceptos b asicos . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.2. C odigos cclicos y anillos de polinomios . . . . . . . . . . . . . . . 78
7.3. Ceros de un codigo cclico y matriz de control . . . . . . . . . . . 81
7.4. Codificaci on y decodificacion en codigos
cclicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8. Codigos 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 ca-
denas 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 seran 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 informacion 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.
5
6 CAPITULO 1. INFORMACION
Y CODIGOS
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.
on. Sean A, F alfabetos y sea M P al (A) un subconjunto
1.1.1. Definici
finito.
s
m
, , , , , , ,
Codificaci on 1: Hacemos F = Z2 , y C () = 0, C () = 1, C () =
10, 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
mas posibilidades de decodificar que la contemplada por nosotros. Vamos a ver
dos opciones m as:
Una es: 1 1 1 01 01 10 10 1
que se decodifica:
Otra: 1 1 1 0 1 0 1 1 0 1 0 1
que se decodifica:
Como se puede apreciar, estas decodificaciones conducen a rutas no deseadas.
Tipos de c
odigos
En general, el uso de los c
odigos abarca tres grandes objetivos en la trans-
misi
on de la informaci
on:
1. Comprimir mensajes.
8 CAPITULO 1. INFORMACION
Y CODIGOS
3. Garantizar la privacidad.
1. Los c
odigos compresores.
2. Los c
odigos correctores de errores.
3. Los c
odigos criptograficos o secretos.
6 6
- codificador - decodificador
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, numeros, 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 con-
trol. 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.
10 CAPITULO 1. INFORMACION
Y CODIGOS
Imitaci
on del c
odigo ASCII
t 00 00000 L 16 10000
( 01 00001 M 17 10001
) 02 00010 N 18 10010
(salto) 03 00011
N 19 10011
. 04 00100 O 20 10100
A 05 00101 P 21 10101
B 06 00110 Q 22 10110
C 07 00111 R 23 10111
D 08 01000 S 24 11000
E 09 01001 T 25 11001
F 10 01010 U 26 11010
G 11 01011 V 27 11011
H 12 01100 W 28 11100
I 13 01101 X 29 11101
J 14 01110 Y 30 11110
K 15 01111 Z 31 11111
Distribuci
on de las letras del castellano y el espacio
Sm- Proba-
Sm- Proba- Sm- Proba-
bolo bilidad
bolo bilidad bolo bilidad
E 0,1460
T 0,0288 V 0,0034
t 0,1140
C 0,0254 0,0029
A 0,1041
P 0,0240 J 0,0027
O 0,0756
M 0,0185 N 0,0026
L 0,0729
Y 0,0134 ( 0,0019
S 0,0685
Q 0,0133 ) 0,0019
N 0,0610
. 0,0097 Z 0,0013
D 0,0598
B 0,0080 X 0,0005
R 0,0430
H 0,0078 K <0,0001
U 0,0418
G 0,0064 W <0,0001
I 0,0361
F 0,0045
1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA
INFORMACION 11
Esta tabla ya es una fuente, pues tiene sus smbolos y su distribucion. No-
sotros 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 Probabilidad
0 0,6137
1 0,3863
Smbolo Probabilidad
0 5/8
1 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
12 CAPITULO 1. INFORMACION
Y CODIGOS
distribuci
on de probabilidades que tiene. Entonces, ANTES de que el mues-
treo tenga lugar existe una cantidad de INCERTIDUMBRE asociada con la
aparici
on y, DESPUES de recoger la muestra, hemos ganado cierta cantidad
de INFORMACION. As, aunque ambos conceptos tendran asociada la misma
cantidad, que denotaremos con I(a)1 , para a A, el grado de incertidumbre es
un concepto a priori mientras que la cantidad de informacion es un concepto a
posteriori.
Ahora queremos un modelo para calcular la cantidad de informacion. Lo
haremos en dos pasos.
1. Como hemos visto, el concepto de cantidad de informacion esta asociado
con la probabilidad de tal forma que queremos que haya mas informacion
cuanto menos probable sea el suceso. En terminos de matematicas, que-
remos una proporcion inversa. As que buscamos una funcion de la forma
f (1/p), donde f sera una funcion creciente (por lo pronto la identidad
sirve, pero todava no terminamos con las exigencias).
2. Consideremos el caso en que los sucesos son independientes (el caso mas
simple). Nos interesa que la cantidad se comporte como tal, es decir que la
cantidad de informacion asociada a la interseccion de sucesos sea la suma
de sus cantidades. Como bien sabemos, la probabilidad de que ocurran
dos o m as sucesos, digamos p(a) = p y p(b) = q, es el producto de sus
probabilidades; esto es pq; as que necesitamos que cumpla la siguiente
propiedad
1 1 1
f =f +f
pq p q
De toda la vida conocemos el siguiente resultado.
1.2.3. Teorema. Sea f : (0, 1] R una funci on 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).
Demostraci on. Por usar un libro de codigos, vease [5, Proposicion 2.2.2], o cual-
quier libro de c
alculo.
Esto nos lleva a la siguiente definicion.
1.2.4. Definici on. Sea (A, P) una fuente de informaci on. El grado de incer-
tidumbre o la cantidad de informaci on (binaria) asociado al smbolo a A (al
suceso de que este aparezca) esta dado por
1
I(a) = log2
p(a)
siempre que p(a) 6= 0. En el caso p(a) = 0, diremos que no podemos determinar
la informaci
on.
1 Por suerte, informaci
on e incertidumbre empiezan con i.
1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA
INFORMACION 13
En principio, la elecci
on del logaritmo en base 2 es arbitraria y se puede
definir informacion n-aria. En base 2, la unidad queda establecida en un canal
binario equiprobable.
Sea (A, P) una fuente de informaci on donde A = {a, b} (puedes sustituir
por 0 y 1 si quieres) y P = p = 21 , q= 12 . En este caso, es trivial que I(a) =
I(b) = 1; pues log2 p1 = log2 1
= 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 situacion de (1.2.1), podemos calcular algunas cantidades de infor-
maci 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 informacion 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
Segun 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 de-
finida, claro) de los smbolos de A; es decir,
X X 1
H (A, P) = p(a)I(a) = p(a) log2 ( bits ).
p(a)
aA aA
14 CAPITULO 1. INFORMACION
Y CODIGOS
A efectos de c
alculo,usaremos
la convencion de que si p(a) = 0 entonces
p(a)I(a) = 0 = p(a) log2 p(a) ya que 0 = lmx0 x log2 x1 .
1
1.2.7. Ejemplos.
1. En la situacion 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|).
Aun 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
on P = {p, 1 p}. En este caso
distribuci
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.
Por su definici
on, todo canal discreto, una vez ordenados los smbolos del
alfabeto, tiene asociada una matriz cuyas entradas son las probabilidades con-
dicionadas. 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:
4. Por u
ltimo, la probabilidad de que se emita a, y se reciba s, que denotamos
p(a s).
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. Definicion. 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
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 infor-
macion. 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 eleccion 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
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 infor-
maciones mutuas; es decir,
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
y por tanto
1.4. C
odigos correctores de errores
Vamos a establecer el contexto que sera nuestra hipotesis de trabajo. Tene-
mos 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
Correcci
on de errores de transmisi
on. Esquemas y errores de decisi
on
En la pr actica, podemos sustituir, respetando la distribucion de probabili-
dades, los smbolos de entrada y salida A y S por un cuerpo finito F al que
seguiremos llamando alfabeto. Un codigo en bloques sera entonces un subcon-
junto C Fn . El c odigo en bloques proviene de haber codificado las palabras
de M P all (A) que son de longitud l n.
20 CAPITULO 1. INFORMACION
Y CODIGOS
canal con
emisor interferencia receptor
6 6
- codificador decodificador
correccion de
- errores
Bc = {v Fn | f (v) = c} . (1.4.1)
on parcial entonces los {Bc }cC son disjuntos aunque tal vez
Como f es aplicaci
on de Fn .
no sean una partici
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 continuacion, vemos un grafico del proceso completo, donde denotamos
C
Fn Fn la transmisi
on a traves del canal C.
codificaci
on C esquema decodificaci
on
P all (A) M C Fn Fn C P all (S)
Ahora,
d(C) = mn {d(c, c0 ) | c 6= c0 C}
d(C) 1
t = b c
2
Sk (c) = {s Fn | d(c, s) = k} , con 0 k t
[t
Bt (c) = Bc = {s Fn | d(c, s) t} = Bk,c (union disjunta)
k=0
Claramente
X
1 pe (c) = p ( t errores) = p(b|c)
bBc
t t
X nk
X n
= |Sk (c)| pk (1 p) = (q 1)k pk (1 p)nk .
k
k=0 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
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, con-
forme 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.
Notese que k = log|A| (|C|). As llegamos al concepto de tasa de transmision.
1.5.1. Definici on. La tasa de trasmisi odigo C An es el cociente
on de un c
del n
umero de smbolos que originalmente tiene una palabra sobre el n umero
necesario de smbolos para transmitirla usando dicho c
odigo.
log|A| (|C|)
R(C) =
n
Como veremos, el teorema de Shannon nos dice que mientras mantengamos
la tasa de transmisi
on por debajo de la capacidad del canal, podemos compensar
la perdida de informaci
on que se produce en el canal al grado de precision que
deseemos.
1.5.2. Teorema [Shannon]. Sea C un canal discreto y sin memoria, con ca-
pacidad C (C) = C. Entonces, para cualquier n
umero R < C existe una sucesi on
Cn de c
odigos q-arios, junto con sus esquemas de decisi
on fn , que cumplen:
lm Pemax (Cn ) = 0.
n
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. Definicion. 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 )-
odigo sobre A.
c
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 seran 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.
odigo es entonces C = {00000, 11111}.
El c
Para crear este codigo 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 CAPITULO 2. GENERALIDADES SOBRE CODIGOS
C1 es un (2, 4, 1)-c
odigo binario y no detecta ni corrige error alguno.
Ahora vamos a agregar redundancia
7 00|0
7 11|0
C2 =
7 10|1
7 01|1
C2 es un (3, 4, 2)-c
odigo binario y detecta 1 error, pero no puede corregir.
Un codigo que s
olo detecta un error se llama codigo detector de un error.
Mientras mas redundancia agregamos, mejor para la correccion y peor para
la tasa de trasmision (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 pue-
de 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 ).
30 CAPITULO 2. GENERALIDADES SOBRE CODIGOS
C
odigos perfectos y radio de recubrimiento
Los codigos 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. Definicion. 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
d1
es decir, si Fn es uni
on de las bolas de radio 2 N y centro en las palabras.
Vamos ahora a dar un criterio meramente aritmetico para determinar cuando
un c
odigo es perfecto.
2.1.20. Lema. Sea Fq un cuerpo finito. En Fnq , una bola de radio r y centro
en un punto v tiene exactamente
r
X n j
|Br (v)| = (q 1)
j=0
j
elementos.
Demostraci on. Notese 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
Demostraci
on. Por hip
otesis, las bolas son disjuntas, as que
t
[ X n
Bt (u) = M |Bt (x)| = M (q 1)j
j
uC j=0
2.1.22. Ejemplo. Para cualquier (5, M, 3)-codigo binario se tiene entonces que
M (1 + 5) 25 , luego M 5.
2.1.23. Ejemplos. Algunos c
odigos perfectos.
2. El c
odigo total.
odigos binarios de longitud impar de la forma c, 1 + c .
3. Los c
2.1.26. Definici
on. Sea C un (n, M, d)-c odigo sobre F, con radio de empa-
quetamiento (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.
32 CAPITULO 2. GENERALIDADES SOBRE CODIGOS
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
odi-
go 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 autoequi-
valencias.
on. Sea F un cuerpo finito y C Fn un c
2.2.3. Definici odigo. El grupo de
automorfismos de C 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 elimi-
namos 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)-codigo sobre F y sea Ci? el codigo
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 .
alculo de d?i es inmediato.
El c
Para los siguientes resultados, necesitamos el concepto de subgrupo de per-
mutaciones 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 en-
tonces los n c
odigos obtenidos de pinchar C en cada coordenada son permutaci on
equivalentes.
Demostracion. 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 pa-
sos. 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
Demostraci
on. Trivial.
2.3.8. Observacion. Obtener leyes para los codigos extendidos en el caso bi-
nario es muy simple. Aqu, trivialmente, db = d + 1 si d es impar y es d en caso
contrario.
34 CAPITULO 2. GENERALIDADES SOBRE CODIGOS
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 }
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 }
d(x, y) (v1 v2 ) d2
C
odigos lineales
3.1. Conceptos b
asicos
Como hemos comentado antes, la idea subyacente de los codigos correctores
de errores es la redundancia en la informacion. En este captulo comentaremos
la manera algebraica de controlar dicha redundancia, y de hecho, la codificacion
y decodificacion.
Como viene ocurriendo, F siempre denotara un cuerpo finito. Cuando se
quiera hacer enfasis en su cardinal, escribiremos Fq , donde q = |Fq |.
Por ejemplo, en el caso del c odigo C1 = {00, 10, 01, 11} del GPS (1.1.3 y
2.1.15) que vimos antes, lo ampliamos al codigo C2 = {000, 101, 011, 110}. Es
acil ver que, la regla para ampliarlo es (x, y) 7 (x, y, x + y) en terminos del
f
algebra lineal; es decir, la redundancia puede obtenerse mediante aplicaciones
lineales. Vamos a identificarlo. Tenemos C1 = F22 y hacemos f : F22 F32 , tal que
f (x, y) = (x, y, x + y). Claramente C1 = C2 . Llamaremos matriz de codificaci on
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 coor-
denadas (y dejando intacto el c odigo original) nos produce matrices del tipo
M () = (Ik |A)
Vamos a formalizar la situaci on.
3.1.1. Definicion. 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 diccio-
nario de la RAE, generadora es que genera, mientras que generatriz los reserva para fsica
y geometra. En todo caso, ambas estan 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
Demostraci on. Supongamos primero que G es una matriz generadora y que tiene
ciertas columnas con ndices {i1 , . . . , ik }, que son linealmente independientes.
Entonces existe una matriz de operaciones elementales por fila E tal que la
submatriz EG(i1 , . . . , ik ) = I. Ademas, EG es matriz generadora, tambien. Sea
c C cualquier palabra. Entonces existe a Fk tal que aEG = c. Por la
formaPque tienePEG es claro que cij = aj y que, para cualquier l = 1, . . . , n,
cl = rlj aj = rlj cij .
3.1. CONCEPTOS BASICOS 37
Demostraci
on. Basta hacer las cuentas y luego considerar dimensiones.
Demostraci on. Sea G 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 matriz
adecuada. Tambien sabemos que podemos elegir F como s olo producto de per-
mutaci on de los pivotes (o cualquier permutacion que pusiera en las primeras
columnas un conjunto de informacion). Entonces EG genera el mismo codigo
38 CAPITULO 3. CODIGOS
LINEALES
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
0 1 1 1
H= 1 0 1 1 I3 .
1 1 0 1
Este es un [7, 4]-codigo.
3. En el ejemplo del ISBN (2.1.4) tenemos C = F911 y agregamos la informa-
10
ci
on (dgito de control de pesos) con la on lineal f : C F11 dada
aplicaci
P9
por f (x1 , . . . , x10 ) = x1 , . . . , x9 , i=1 ixi . En este caso, la matriz
generadora es
1
G(ISBN) = I9
.. .
.
1
3.2. C
odigos duales u ortogonales
3.2.1. Sea F un cuerpo finito y C Fn un subespacio. Sabemos que
dim C + dim C = n.
3.3. PESOS Y DISTANCIAS 39
Distribuci
on de peso o espectro de peso
3.3.6. Definici
on. Sea C un c
odigo y sea
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.
3.3. PESOS Y DISTANCIAS 41
Demostraci on. Sea 1 = (1, . . . , 1). (1) y (2) son inmediatos. (3) Inmediato del
hecho 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 un
vector tiene peso par, entonces 1 v = 0, luego 1 C = 0 y por tanto 1 C .
(5) Es obvio.
1. Ce es un subc
odigo lineal (subespacio) de C.
2. dimF2 (C/Ce ) 1.
Demostraci
on. (1) Es obvio. (2) Se sigue directamente de (2.1.8)
3.4. Codificaci
on y decodificaci
on en c
odigos
lineales
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 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 razon es que en la decodificacion hemos incluido la correccion de errores, lo
mas 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
on t. Hay una palabra enviada c C, un vector recibido v F y un
de correcci
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 numero 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
on. Sea C Fn un c
3.4.2. Definici 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 equi-
valencia? 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.
de correcci
on
3.4.8. Por tanto, para corregir, lo que realmente necesitamos es conocer los
lderes y sus sndromes. Es decir, que formaremos la tabla completa de lderes
(si queremos corregir siempre)
0 e01 = 0 0
e11 s11
.. ..
1 . .
e1n1 s1n1
.. .. ..
. . .
et1 st1
.. ..
t . .
etnt stnt
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
1. Si el n
umero de errores no excediere la capacidad de correccion, el lder
correspondiente ser
a unico (y nos indicara los errores cometidos en las
posiciones). 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 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).
0 0000 000
10000 110
01000 101
1 00100 100
00010 010
00001 011
2 11000 011
10001 111
(*) no u
nicos.
2. Sea C = {0000, 1110} binario. En este caso, hay 1 lder de peso 0, 4 de
peso 1 y 3 de peso 2. TODOS UNICOS.
3. Para C = {000000, 111000}, binario, hay un lder de peso 0, 6 de peso 1,
hay 12 de peso 2, 10 de peso 3 y 3 de peso 4. TODOS UNICOS. As que
hay lderes u
nicos de peso mayor que la capacidad de correccion, de hecho
tiene peso igual a la distancia mnima.
Bc = {l + c | l L} .
46 CAPITULO 3. CODIGOS
LINEALES
t n
X n X
1 pe (c) = (q 1)k pk (1 p)nk + i pi (1 p)ni .
k t+1
k=0
n
Tambiekn podemos calcularla usando el juego completo de lderes. Como k =
k (q 1) ,
Xn
nk
1 pe (c) = k pk (1 p) .
i=0
1. k ? = k si (0, . . . , 1i , 0 . . . , 0) 6 C.
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.
G E
Fk Fn Fn+1
con
1
E = Inn
..
y G = (gij )kn .
.
1
Entonces P
j g1j
GE = G
b= ..
G .
P.
j gnj
Ahora, H
b ha de cumplir que H b t = 0, as que H
b G b puede ser
1 1 1
0
H
b = .
H ..
.
0
Esta es una construcci
on tpica que llamaremos la matriz de control a
nadi-
do
3.5.5. Ejemplo. Para ilustrar, podemos extender el codigo H32 , con matriz
1 0 1 1 1 1 1 0
G= yH=
0 1 1 1 1 1 0 1
La construcci
on 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 es
lineal. A
un mas.
3.5.6. Corolario. En la situaci on de (2.3.10), si C1 y C2 tienen matrices gene-
radoras 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 parametros
4.1. Generalidades
Sea C un (n, M, d)-c
odigo. Para ser un buen codigo debe:
Tener palabras, lo m
as corto posible. Luego n debe de ser peque
no.
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 problema
principal de la teora de c
odigos.
Abordar el problema consiste en en optimizar uno de los parametros. Una de
las versiones mas 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 distin-
tos entonces d(u, v) n, pero C Fnq . As que todas las coordenadas han de
49
50 CAPITULO 4. COTAS A LOS PARAMETROS
Entonces, un c
odigo perfecto es aquel que alcanza la cota de Hamming.
Aq (n, d) q nd+1 .
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 veri-
fiquen 1 < k n q.
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,
( n
)
X
A2 (n, d) max Bw
w=0
Tipos especiales de c
odigos
lineales
5.1. C
odigos de Hamming y c
odigos simplex
C
odigos de Hamming
La construccion 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 .
Entonces se tiene:
1. rg (Hq,r ) = r.
55
56 CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES
h r i
1 q r 1
As que Hq,r es un qq1 , q1 r, 3 -codigo y cualesquiera dos codigos
construidos de esta manera y con estos datos seran permutacion equivalentes.
Recprocamente
r
si H es la matriz de control de un codigo, tal que H es de
1
orden r qq1 y tal que cada dos columnas existe una tercera que es combina-
ci
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.
h r i
1 q r 1
5.1.1. Teorema. Todo qq1 , q1 r, 3 -c
odigo lineal sobre Fq es un c
odigo
de Hamming.
Aun mas, cualesquiera dos c odigos de Hamming con los mismos par ametros
son permutaci on equivalentes.
C
odigos simplex
h i
q r 1
Son q1 , r -c
odigos lineales cuyos pesos de palabras tiene propiedades no-
tables. Por ejemplo, el codigo H3 solo tiene palabras de peso 4 y el tetracodigo
(3.2.4), que denotamos H3,2 , es autodual, y tiene todas sus palabras de peso 3.
5.1.2. Definici on. Los codigos simplex son aquellos que se realizan como dua-
les de los c
odigos de Hamming
En general,
5.1.3. Teorema. Las palabras no cero de un c odigo simplex sobre Fq tiene
todas peso q r1 .
Demostraci
r odigo ha de tener matriz generadora Hq,r de orden r
on. El c
q 1
q1 y sabemos que rg (Hq,r ) = r y que Hq,r = hHq,r i = xHq,r | x Frq .
Notese que (xHq,r ) = n (columnas de Hq,r , digamos y, tal que xy = 0).
r1
Sabemos que dimhxi = r 1, luego tiene q q11 subespacios de dimension 1
y todos ellos est
an en las columnas de Hq,r . Por tanto,
q r 1 q r1 1
(xHq,r ) = = q r1 .
q1 q1
Construcci
on alternativa de c
odigos simplex binarios
Hacemos
0 1 1
G2 = .
1 0 1
Ahora, para r 3, definimos
00 1 11
Gr =
Gr1 0 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.
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
A=
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 CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES
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. Aun 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)
odigo G23
El c
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 recuperamos
odigo original. Pinchando G24 obtenemos un [23, 12, 7]-codigo lineal, que lla-
el c
maremos G23 .
C
odigos de Golay ternarios
odigo de Golay ternario G12 es el [12, 6]-codigo sobre F3 con matriz
El c
G12 = (I6 |A), donde
0 1 1 1 1 1
1
0 1 1 1 1
A=
1 1 0 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)
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 sobre
cuerpos con otra caracterstica.
Su distancia mnima es muy peque na pero se decodifican muy facilmente.
Hay muchas maneras de construirlos. Una de ellas se basa en la construccion de
Plotkin (2.3.10).
Construcci
on
Elegimos un natural m N \ {0} y 0 r m.
Para cada m, vamos a definir m + 1-codigos que denotaremos
con 1 r < m.
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
r
X m
dimF2 (R(r, m)) = .
i=0
i
R(r, m) = R (m r 1 , m) .
Demostraci on. (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, dim R(0, m) = 1 = m 0 . Ahora, notese que
m
m
X m m
dim R(m, m) = 2 = = (1 + 1) .
i=0
i
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
j j1
X m1 X m1
dim R(j, m 1) = y dim R(j 1, m 1) =
i=o
i i=o
i
Por inducci
on. Si
d (R(r, m 1)) = 2m1r
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
mr1 m=(m0)
X m
X
m
dim R(m r 1, m) = = .
j=0
j j
r+1=m(mr1)
Luego
r m
X m X m
dim R(r, m) + dim R(m r 1, m) = + = 2m .
0
j r+1
j
5.3.2. Observaciones.
1. Como R(0, m) es el c odigo de repeticion, R(m 1, m) = R(0, m) es el
m
odigo de todos los vectores pares de F22 .
c
2. Si m es impar, m = 2r + 1, entonces por los apartados (3) y (4), del
teorema anterior se tiene que R(r, m) = R( m1
2 , m) es autodual con peso
m1
mnimo 2 2 .
62 CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES
Captulo 6
Cuerpos finitos
Demostraci
on. Trivial,
(nm) (n) (m) (n)
(n m) = 1+ +1 = 1+ +1 + + 1+ +1
(m) (m)
= (n)+ +(n) = (factorizo) = (n) 1+ +1
= (n)(m)
63
64 CAPITULO 6. CUERPOS FINITOS
Demostraci
on. Trivial; ademas, t = dimFp (F).
Demostraci
on. Inmediato del binomio de Newton, pues
t (
p 0 si i 6= 0, pt
=
i 1 otro caso.
en F.
Demostraci on. Suponemos que |F| = q > 3, si no, se hacen las cuentas.
Sea h = q 1 = p m
1 pm la descomposici
1
on en factores primos. Recorde-
mos que q 1 = |F |.
h
Para cada 1 i m, consideremos el polinomio X pi 1. Este polinomio
tiene a lo mas, phi -races en F. Como phi < h, entonces que hay elementos en F
h
que no son races de X pi 1. Sea ai uno de esos elementos.
i
(h/pi i ) (h/pi i ) p
Ahora, hacemos bi = ai . Es claro que ai 6= 1; ademas, bi i = ah =
(i i )
(h/p )
1; luego o (bi ) | p
i . Por otra parte,
i
Qpara cualquier 0 i , ai i 6= 1,
i m
luego o (bi ) = pi . Hacemos b = i=1 bi . Finalmente, se puede comprobar de
forma directa que o(b) = h.
Demostraci on. 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 n
umeros algebraicos
6.2.1. Definicion. 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.
s
donde s es el primer natural tal que q = ; que, de hecho, es el grado del
polinomio mnimo.
Demostraci
on. Es inmediata.
Demostraci
on. Inmediata de los Teoremas 6.2.6 y 6.2.10
si hay m
as races en L seguimos extendiendo hasta obtener K , L. De aqu el
resultado es inmediato.
Demostracion. Por el Lema 6.1.17, todos los elementos de F son races, y como
gr (X q X) = q, ya tenemos todas las races.
6.3.6. Observaci on. Hemos probado entonces que todo cuerpo finito con q =
pt elementos es el cuerpo de descomposicion de X q X en Fp .
on. Para q = pt , con p, primo, denotamos al cuerpo (salvo iso-
6.3.7. Notaci
morfismo) con q elementos con Fq .
6.3.8. Teorema. Sea p un n umero primo; t, r n
umeros naturales, y Fpt y Fpr
cuerpos finitos. Entonces Fpt es (isomorfo a) un subcuerpo de Fpr si y solo si
t|r.
q s 1
Haciendo k = q1 se tiene que
n o
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.
6.4. Ejemplos
Comencemos con F2 = {0, 1}, y consideremos el polinomio
2
X 2 X = X 4 X = X (X + 1) X 2 + X + 1 .
Aqu, X 2 + X + 1 es el u
nico irreducible de grado 2. Sea una raz de dicho
polinomio. Entonces 2 + + 1 = 0 y con ella construimos
F4 = 0, 1, , 2 | 2 + + 1 = 0 = 0, 1, , 2 | 3 = 1 .
O bien,
F4 = F2 () = {a + b | a, b F2 } .
70 CAPITULO 6. CUERPOS FINITOS
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
o de alguno de los
2 22 23
polinomios de grado 4. Las races seran , , , .
Ahora tenemos dos caminos:
Primero. Hacemos,
2
3
X4 + X3 + 1 = (X + ) X + 2 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
F24 = a1 + a2 + a3 2 + a4 3 | ai F2 ; 4 + 3 + 1 = 0 .
0, 1, , 2 , 3
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.
Como hemos visto, podemos tambien pasar a F24 , extendiendo F22 en vez
de F2 . Veamos.
6.5. EL ANILLO F[X]/(X N 1) 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
an divisores de X q X o sea,
ser
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 .
Cs = s, sq, . . . , sq r1
6.5.6. Observaciones. Ahora vamos a hacer una lista de hechos que sabemos
o podemos probar muy f
acilmente:
6.5.7. Definici
on. Sea I un ideal de Rn . Al polinomio monico 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 situa-
ci
on de la Observacion 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 parrafo 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
Z = j | j D(I)
I = p Rn | p( j ) = 0, j D
Demostraci
on. Inmediata.
6.5.10. Teorema. Sean I, J ideales de Rn con polinomios generadores g, h,
respectivamente. Entonces:
1. I J si y s
olo si h | g.
2. I J tiene polinomio generador, un asociado a mcm(g, h).
3. I + J tiene polinomio generador, un asociado a mcd(g, h).
4. I J tiene polinomio generador, un asociado a mcd(gh, X n 1).
Demostraci
on. Basta hacer las cuentas.
6.5.11. Proposici on. 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 = j=1 mj .
n n
Hacemos uj = Xm1 j
. Entonces. Hacemos ui = Xm1 i
. Entonces
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
R7 = F2 [X]/(X 7 1)
= F2 F23 F23 .
1. El de C0 , que es X + 1.
2. El de C1 que es (X + ) X + 2 X + 4 = X 3 + 4 + 2 + X 2 +
6 + 5 + 3 X + 1.
3. El de C3 que es X + 3 X + 6 X + 5 = X 3 + 3 + 5 + 6 X 2 +
+ 2 + 4 X + 1.
saberlo con un metodo fijo; as que descomponer polinomios sigue siendo igual
de difcil que, por ejemplo, en la caracterstica 0.
Hay programas y tablas para calcular descomposiciones. Uno termina siem-
pre echando mano de ellas.
As que, expresamos como producto de irreducibles X 7 1 = (X + 1)(X 3 +
X + 1)(X 3 + x + 1). Entonces
2
m1 = X + 1 u1 = X 6 + + X 2 + X + 1
m2 = X 3 + X 2 + 1 u2 = X 4 + X 3 + X 2 + 1
m3 = X 3 + X + 1 u3 = X 4 + X 2 + X + 1
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 extension, 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 ) .
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 codigo 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;
t es decir, P P t = I.
n i t ni
Como P = I entonces (P ) = P . As, 0 = yP x = y xP ni = 0.
i
77
78 CAPITULO 7. CODIGOS
CICLICOS
7.2. C
odigos cclicos y anillos de polinomios
Seguimos suponiendo que mcd(n, p) = 1. Considerese Fn con la base canoni-
ca 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
P x o x
? - ?
n
Rn
F
1
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
mnimos y uj = Xm1j
. Sabemos por el Teorema 6.5.12 que los Rn uj son todos los
ideales minimales y que cada Rn uj = Fqgr(mj ) = Fq|Cj | . Por tanto, dimF Rn uj =
gr(mj ) = |Cj |.
Sea ahora I Rn un c odigo cclico. Por la Observacion 6.5.6, existe un
polinomio generador (m onico) g F[X] tal que I = hgi y g | X n 1; por eso
n
abusamos de la notaci on y escribimos g en vez de g. Si h = X g1 entnces existen
Q Q
S1 y S2 , una particion de S tal que (6.5.5) g = jS1 mj y h = kS2 mk ;
adem as,
Rn uk Fqgr(mk )
Y Y Y
Rn g = = = Fq|Ck | .
kS2 kS2 kS2
P
De aqu, dimF Rn g = n gr(g) = kS2 |Ck |.
7.2.4. Proposici
Pnk on. Sea C un c odigo cclico en Rn con polinomio generador
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 es generadora de C,
g0 g1 gnk 0 0
0 g0 gnk
G=
.. ..
. .
0 g0 gnk kn
Xn 1
h(X) =
g(X)
es decir, gh = X n 1 en F[X].
Usando h podemos dar una matriz de control muy facil.
80 CAPITULO 7. CODIGOS
CICLICOS
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= ;
. .. . ..
0 hk h0 nkn
es decir,
0
si j i < 0
H = (aij )nkn | aij = hk(ji) si 0 j i k
0 si k < j i
pn1
1. Si f | g entonces f ? | g ? .
2. Si g | X n 1 entonces g ? | X n 1.
hi X i .
P
7.2.9. Corolario. Sea C un c odigo con polinomio de control h =
Entonces C tiene polinomio generador h = h(0)
1
h? .
7.3. CEROS DE UN CODIGO CICLICO Y MATRIZ DE CONTROL 81
7.3. Ceros de un c
odigo cclico y matriz de con-
trol
Sea C un codigo 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-ciclotomicas 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.
{ a | a Ct , t T } .
X n 1
2. Los no ceros son las races de h = 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 con-
trol.
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
Vamos a ver que es matriz de control. Primero tenemos que Pr fijar una base.
Sea {u1 , . . . , ur } una base para Fqr . supongamos que mti = j=1 aji uj . Como
Lct = 0 entonces
!
n1
X X r r
X n1
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 hipotesis 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
on dim C = n r.
dimensi
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
1. Se recibe un vector p Rn .
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 t0,r1 1 0 ... 0
t1,0 t1,r1 0 1 ... 0
G= = (T | I)
..
.
tnr1,0 tnr1,r1 0 0 ... 1
Y DECODIFICACION
7.4. CODIFICACION EN CODIGOS
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 odigo de Hamming. Hq,r tiene matriz de control
on de c
de cada matriz de dimension 1 de Fqr
Hq,r =
tomo un vector y lo pongo
q r 1
y sabemos que hay exactamente q1 .
8.1.1. Observaci
on. Sea H una matriz tal que
H = H1 H qr 1 r 1
.
q1 [r qq1 ]
85
86 CAPITULO 8. CODIGOS
CICLICOS CLASICOS
y expresemos esos elementos como se hizo en la Seccion 7.3 de los ceros, viendo
Fqr como Fq espacio vectorial,
H = 1 (n1)
8.2. C
odigos BCH
El nombre viene de Bose, Ray-Chandhuri y Hocquengheim. En estos codigos
cclicos, se busca que tenga una longitud y distancia designada.
8.2.1. Definicion. Sea Fqr el cuerpo de escisi on de X n 1 que contiene a Fq
y sea Fqr una raz n-esima primitiva de la unidad. Sean 2 n y b 0.
Cambiando r, por Fqr , tenemos cinco par ametros, (q, n, , , b).
Llamamos c odigo BCH de longitud n y distancia designada sobre Fq y
lo denotamos Bq (n, , , b) (el par
ametro q sale del parentesis) al c odigo cclico
generado por
g(X) = mcm mb (X), mb+1 (X), . . . , mb+2 (X)
1. En el caso b = 1, el c
odigo se llama BCH en sentido restringido (narrow
sense) y se omite el u
ltimo par
ametro, es decir, se escribe Bq (n, , )
Demostraci on. Es muy facil. Sea g(X) como en la definicion de codigo BCH.
Considero un polinomio f (X) tal que f b+i = 0 para todo i = 0, . . . , 2;
entonces g | f , ya que mb+i (X) | f (X). As, g tiene grado mnimo y por tanto
Bq (n, , , b) tiene dimension maxima.
Adem as, el c odigo generado por (1 X)g es el subcodigo cclico de las pa-
labras 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
i
on de X 1
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
odigo, digamos ij | j = 0, . . . , k . Si M es la matriz formada por los
del c
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
..
.
( b )0
b b n1
p0
( ) . . . ( )
p1 ..
.. .
.. =
. .
( b+2 )0 ( b+2 ) . . . ( b+2 )n1
pn1
.
..
( ik )0 ( ik ) ... ( ik )n1 0
( 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
Demostraci
on. Inmediato de la definicion de codigo BCH y de (6.5.12 y 6.5.13).
8.3. C
odigos de Reed-Solomon
Son un caso particular de c
odigos BCH; de hecho, son un caso particular de
c
odigos BCH primitivos.
8.3.1. Definici
on. Un c
odigo de Reed-Solomon es un BCH sobre Fq , donde
n = q 1.
8.3.2. Observaciones.
1. Como n = q 1 entonces Fq es cuerpo de escision para X n 1; as que
s
olo hay factores lineales o, dicho en terminos de clases q-ciclotomicas, todas las
clases q ciclot
omicas tienen orden 1. Qb+2
2. Por lo anterior, si g es el polinomio generador entonces g = i=b (X i )
y por tanto
dim C = n + 1 .
3. Si C es un RS-c odigo entonces C tambien lo es. Esto se desprende del
hecho de que las clases ciclot omicas solo tienen un elemento y no hay con-
jugados
b b+1 ma s que uno mismo. Esto significa que si los ceros de C contienen a
, , . . . , b+2 entonces ya son todos. Luego los inversos de los no ceros
son (b+1) , . . . , (b1) que es otra vez una lista de potencias consecutivas
[1] J. Ad
amek, Foundations of Coding, Wiley, Chichester, 1991.
[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