Sunteți pe pagina 1din 72

Fiicei mele, Diana

Aurelian Claudiu VOLF

Cuprins

Introducere n teoria codurilor Cuprins ....................................................................................... 2


Prefa ........................................................................................ 3
Unele notaii ............................................................................... 7
I. Coduri corectoare de erori ...................................................... 9
II. Coduri liniare....................................................................... 23
III. Corpuri finite...................................................................... 51
IV. Coduri liniare: codare i decodare ..................................... 74
V. Construcii de coduri noi din coduri existente .................... 86
VI. Coduri ciclice ..................................................................... 98
VII. Coduri BCH.................................................................... 107
VIII. Aplicaii: pachete de erori, Compact Disc, CRC .......... 119
Index....................................................................................... 137
Bibliografie ............................................................................ 142

2
4

coduri. Aceste dispozitive, i multe altele, nu ar putea funciona


fr coduri corectoare de erori.
Deci, codurile ajut la corectarea de erori, dar nu ofer confi-
denialitate. Confidenialitatea se realizeaz de ctre criptografie.
Dup prezentarea scopurilor teoriei codurilor i a principiilor
sale de baz n capitolul I (noiunea de canal de comunicare, cod
bloc, distan Hamming, algoritmul de decodare de distan mini-
m, capacitate de corectare a unui cod), se introduc obiectele
Prefa principale de studiu, codurile liniare, n capitolul II. Aici snt
definite noiunile de matrice generatoare, matrice de paritate,
Error correction is one of the most dualul unui cod, i snt date primele rezultate semnificative
advanced areas in the entire field of digital privind: evaluarea distanei minime a unui cod liniar, inegaliti
audio. It is purely because of error-
correction techniques that reliable digital satisfcute de parametrii unui cod, exemple remarcabile de coduri
recordings can be made, despite the frequent liniare (coduri Hamming). ntruct corpurile finite snt eseniale n
occurrence of tape dropouts. [Digital Audio
teoria codurilor liniare, le este dedicat un capitol special, care
Technology, Edited by Jan Maes and Marc
Vercammen, Focal Press 2001] include teorema de clasificare a corpurilor finite, construcia unui
corp finit, proprieti de baz ale corpurilor finite. Capitolul IV
Codurile corectoare de erori (pe scurt, codurile) corecteaz sau
continu studiul codurilor liniare i descrie unele principii generale
detecteaz erori care apar inevitabil la transmiterea unui mesaj pe
de codare i decodare. n capitolul V snt date diverse construcii
un canal care nu asigur o transmisie perfect (canal cu zgomot).
clasice de coduri noi din coduri existente, cu aplicaii practice i
Aceast detectare/corectare se realizeaz prin introducerea de
teoretice (coduri Reed-Muller, metode de investigare a existenei
redundan n mesaj (adic, n loc de a transmite mesajul original,
unui cod cu anumii parametri).
un mesaj mai lung este transmis, n sperana c simbolurile
n capitolul VI este introdus i studiat clasa codurilor ciclice,
adugate vor ajuta la detectarea/corectarea erorilor). Orice comuni-
important att prin faptul c are aplicaii practice, ct i prin
care digital, orice stocare de date folosete o form de coduri
frumuseea matematic a descrierii lor. Subclasa codurilor BCH
corectoare de erori. Compact discurile, discurile dure, memoriile
este introdus n capitolul VII, fiind descris i algoritmul de
interne ale calculatoarelor, memoriile flash, DVD-urile etc. snt
decodare Petersen-Gorenstein-Ziegler. Ultimul capitol este dedicat
protejate mpotriva alterrii accidentale a datelor folosind astfel de
codurilor corectoare de pachete de erori i a descrierii a dou

3
5 6

aplicaii semnificative i foarte rspndite ale teoriei codurilor: Toate aceste tehnologii nu ar fi posibile fr teoria codurilor i
schema de codare pentru corectarea de erori la compact-discurile matematica pe care se bazeaz.
audio i schema de detectare de erori CRC (cyclic redundancy Cititorul trebuie avertizat c practic toat literatura din
check). domeniul teoriei codurilor este n limba englez. Multe din
Multe monografii de teoria codurilor au mai mult de 700 de noiunile folosite snt de dat foarte recent i unele nu au avut
pagini. Acest curs introductiv, din motive de spaiu i din dorina timp s fie incluse n literatura romneasc, oricum foarte
de a pstra aparatul matematic necesar la un nivel ct mai accesibil restrns. De aceea, este necesar familiarizarea cu terminologia
(n esen, algebr liniar i elemente de corpuri finite), nu include englez, echivalentele romneti ale multor denumiri nefiind nc
multe teme clasice de teoria codurilor care snt foarte importante. standardizate.
Astfel, am omis tematici precum: grupul de automorfisme ale unui
cod, coduri QR (construite cu resturi ptratice quadratic residue
codes), coduri Goppa, coduri AG (coduri provenite din geometrie
algebric algebraic geometry codes), coduri peste inele, coduri
autoduale, coduri convoluionale, coduri LDPC (low density parity
check codes), legturi cu teoria design-urilor etc. Aceste tematici
se pot gsi n multe din crile citate n bibliografie, din care
menionm [2], [9], [13], [14]. Totui, avem convingerea c dup
parcurgerea acestui curs, cititorul va fi familiarizat cu ideile
principale i cu unele din metodele, aplicaiile, limitrile i
problemele teoriei codurilor. Acest domeniu este n plin evoluie
i multe rezultate sau metode apar an de an. De aceea, aceast carte
trebuie vzut mai mult ca o invitaie la lecturi ulterioare i
cercetare n arii mai restrnse care snt de interes pentru cititor.
Sperm c cititorul va descoperi mcar o parte din uimitoarea
cantitate de inventivitate i de frumusee matematic din spatele
multor lucruri pe care le considerm astzi normale: utilizarea unui
computer, ascultarea unui CD, o convorbire pe telefonul mobil.
8

- Sn este grupul permutrilor mulimii {1, 2, , n}. Sn are


n! 12n elemente.
n n!
Cn combinri de n luate cte k k !( n k )!
k
-
k

Unele notaii

- | A | desemneaz cardinalul mulimii A (numrul elemen-telor


lui A, dac A este finit).
- x : y nseamn x este egal prin definiie cu y (unde y este
deja definit) sau notm pe y cu x.
- marcheaz sfritul sau absena unei demonstraii.
- bxc este cel mai mare ntreg care este mai mic sau egal cu
numrul real x (partea ntreag a lui x)
- x min {n Z | x n} este cel mai mic ntreg mai mare
sau egal dect numrul real x.
- M(k, n, F) este mulimea matricelor de tip kn peste inelul F.
T
- A este transpusa matricei A.
- N este mulimea numerelor naturale: 0, 1, 2,
- Irr(x, K) este polinomul minimal al elementului algebric x
peste corpul K.
- Z este mulimea numerelor ntregi : 0, 1, 2, 1, 2,
- Zn {0[, 1[, , n[
1} este inelul claselor de resturi modulo n,
cu adunarea i nmulirea mod n.
- S(X) { : X X | este bijectiv} este mulimea permu-
trilor mulimii X. S(X) este grup cu compunerea funciilor.

7
10

varietate de factori: zgomot pe linia telefonic, deteriorarea


suportului fizic al informaiei etc. Se impune gsirea unui
procedeu prin care mesajul s poat ajunge n form corect la
receptor (sau receptorul s poat detecta eventualele erori i s
cear retransmisia mesajului).
Fixm un alfabet A cu q simboluri (alfabet q-ar).
I. Coduri corectoare de erori Ideea care st la baza teoriei codurilor bloc corectoare de erori
*
este urmtoarea: se fixeaz k, n N , cu k n. Se mparte mesajul
original n blocuri (numite cuvinte) de k simboluri. Fiecrui
Fie A o mulime finit, numit alfabet, ale crei elemente le cuvnt2 de lungime k i se asociaz un cuvnt mai lung, de lungime
numim simboluri. Prin informaie digital (sau mesaj peste A) n, dup o lege prestabilit; cele n k simboluri n plus snt puse
nelegem un ir de simboluri (elemente) din alfabetul A. Astfel, pentru detectarea i eventual corectarea erorilor ce pot aprea n
orice fraz dintr-o limb dat este un mesaj (informaie digital). transmisie. Pe canal se transmite cuvntul de n simboluri, la
Orice ir de litere, chiar fr sens, este mesaj. De exemplu, recepie urmnd ca, prin analizarea cuvntului recepionat, s se
011110101100 este un ir de simboluri din alfabetul {0,1} (n acest decid dac au aprut erori (sau s se reconstituie cuvntul
caz, simbolurile se numesc bii). Acest mesaj este un mesaj binar, transmis).
cci alfabetul are dou simboluri. Un alfabet cu q simboluri se
numete alfabet q-ar. 1 Exemplu. Fie A {0, 1} (alfabet binar). O idee simpl i nu
Transmiterea unei informaii digitale1 ntre dou puncte diferite prea eficient de codare pentru corectarea erorilor este de a
transmite fiecare bit de 3 ori, urmnd ca decodarea s se fac dup
n spaiu (de exemplu o transmisie de date pe o linie telefonic)
regula majoritii. Mai precis, lum k 1, n 3 i stabilim
sau n timp (stocarea pe un suport material cum ar fi un compact
urmtorul procedeu de codare: 0 este codat ca 000, iar 1 ca 111.
disc, pentru o citire ulterioar), este supus erorilor cauzate de o
Astfel, dac mesajul original este 0101, el va fi codat ca
000111000111. S presupunem c acest mesaj este afectat de erori
1
Transmiterea de sunete, imagini, texte etc. ca un ir de 0 i 1 pare azi
evident, dar n anii 1940 a fost o idee revoluionar i i aparine lui Claude
2
Shannon (1916-2001), matematician american, unul din fondatorii teoriei Prin cuvnt de lungime k se nelege un k-uplu de simboluri din A (un
k
informaiei (articolul A mathematical theory of communication, 1948). element din A ).

9
11 12

pe canal, nct la recepie se primete 001111000011. La decodare, (simbolul primit difer de cel trimis) este (q 1)p, indiferent de
fiecare grup de 3 bii este tratat individual: de exemplu grupul 001 simbolul transmis (de unde i denumirea de canal simetric) i
este decodat n 0 (se presupune c 001 provine din 000 n care unul indiferent de locul simbolului n mesaj (canal fr memorie).
din 0 a devenit 1), 011 este decodat n 1 etc. Acest procedeu de Deci, probabilitatea ca un simbol transmis x s fie recepionat
corectare a erorilor funcioneaz att timp ct nu apare mai mult de corect este P(x, x) 1 (q 1)p. Se presupune c p 1/2(q 1)
o eroare la fiecare grup de trei simboluri transmise. Acest cod se (altfel este mai probabil s se recepioneze un simbol eronat dect
numete codul (binar) de repetiie de lungime 3. cel corect!). Dac q 2, se vorbete de un canal binar.
Spunem c un canal este canal qSC(p) dac este un canal q-ar
Modelm o situaie de tipul descris, astfel: transmitorul
simetric, fr memorie, de probabilitate p.
trimite un mesaj ctre receptor pe un canal de transmisie. Mesajul
Formalizm ideea de codare bloc de mai sus: se fixeaz k,
este un ir finit de simboluri din alfabetul A. Orice ir de simboluri k n
n N, cu k n; se d o funcie injectiv E : A A care codeaz
poate fi mesaj3. Presupunem c o eroare cauzeaz receptarea altui k n
fiecare a a1ak A ntr-un cuvnt cod c c1cn A . (Un
simbol dect cel transmis (dar nu pierderea simbolului n timpul n
transmisiei). Posibilitatea de apariie de erori pe canal este element oarecare din A , (x1, , xn), (unde xi A,i) l scriem mai
simplu x1xn.)
modelat de o funcie de tranziie P : A A [0, 1], cu k k
Mulimea C : E(A ) {E(a1ak) | a1ak A } a tuturor
semnificaia c x, y A, P(y, x) reprezint probabilitatea ca la
transmiterea simbolulului x, la recepie s fie primit simbolul y. cuvintelor cod se numete cod (n cazul nostru, cod de tip [n, k]
k
peste A). Observm c |C| q .
Unul din cele mai rspndite modele pentru un canal de
Dac mesajul a1ak este o parte a cuvntului cod
transmisie este canalul q-ar simetric de probabilitate p:
- A are q elemente (este un alfabet q-ar); c1cn E(a1ak) (de obicei c1cn a1ak p1pn k, unde
- funcia de tranziie P are proprietatea c P(y, x) p, y, x A p1pn k se numesc simboluri de paritate sau simboluri redun-
cu y x. Altfel spus, probabilitatea de apariie a unei erori dante sau simboluri de control), codarea (i codul C) se numete
sistematic().
3 Pentru funcionarea codului trebuie dat i o funcie de
Desigur, acest lucru e fals dac se transmit numai mesaje din limba n n
romn, de exemplu. ns aceast presupunere e valabil dac se efecueaz n decodare D : A C, care asociaz oricrui cuvnt x din A
prealabil o compresie fr pierderi a mesajului, lucru curent n practica cuvntul cel mai probabil transmis D(x) C. Evident, D(c) c,
transmisiei de date (de exemplu compresiile zip, rar, lha etc). Acest procedeu,
formalizat de Huffman, se bazeaz pe o analiz statistic a mesajului i codarea c C. O codare sistematic are avantajul c mesajul original este
simbolurilor cele mai probabile n iruri scurte i a celor mai puin probabile n recuperat prin simpla eliminare a simbolurilor de control (dac nu
iruri mai lungi.
au avut loc erori!).
13 14

Este util i o accepie mai larg a noiunii de cod: cr c nu este cuvnt cod (nu aparine lui C), dar este suficient de
apropiat de c nct s putem reconstitui c din cr. Acest lucru este
2 Definiie. Fie n N. Un cod (bloc) de lungime n peste posibil doar dac cr nu este el nsui un alt cuvnt cod sau nu e
n
alfabetul A este o submulime C a lui A . Elementele lui C se mai apropiat de alt cuvnt cod c' !
numesc cuvinte cod. Dac |A| q, C se numete cod q-ar.
Aceste idei se pot formula riguros.
Un cod bloc de tip [n, k] transform orice bloc de k simboluri
n
ntr-un cuvnt cod de lungime mai mare n, ceea ce va permite (se 4 Definiie. Fie A o mulime nevid. Distana Hamming 4 pe A
n
sper) detectarea sau corectarea erorilor. ns acest procedeu se definete astfel: x, y A , x (x1, , xn), y (y1, , yn),
mrete lungimea mesajelor transmise (ceea ce nu este de dorit). d(x, y) : |{i | 1 i n, xi yi}|.
Pentru a msura eficiena unui cod din acest punct de vedere, se Deci, distana ntre dou cuvinte este numrul de locuri n care
definete rata de transmisie a unui cod C de tip [n, k] ca fiind cuvintele difer.
R(C) : k/n. Rata msoar proporia de simboluri care poart n n
informaie (restul snt simboluri redundante, care folosesc la 5 Propoziie. Distana Hamming d : A A R este o
n
detectare sau corectare de erori). Dac C este doar o submulime a distan (o metric) pe A , adic:
n
n
lui A , ca n Def. 2, rata e definit ca R(C) : logq|C|/n (de ce?). a) x, y A , avem d(x, y) d(y, x) ;
n
Observai c pentru un cod de tip [n, k]q, cele dou definiii b) x, y A , avem: d(x, y) 0x y;
n
coincid. Rata codului de repetiie de lungime 3 este 1/3. c) x, y, z A , avem: d(x, y) d(x, z) d(z, y).
n
Demonstraie. c) Fie x (x1, , xn), y (y1, , yn) A i
3 Exemplu. Codul binar de paritate P de lungime 9 este notm C(x, y) : {i | xi yi}. Artm c d(x, y) d(x, z) d(z, y),
n
construit astfel: fiecrui mesaj de 8 bii i se adaug un bit de x, y, z A . Cum d(x, y) n |C(x, y)|, inegalitatea devine:
paritate astfel nct cuvntul de 9 bii care rezult s conin un n |C(x, z)| |C(z, y)| |C(x, y)|.
numr par de bii egali cu 1. Aceasta revine la a spune c suma (n Dar C(x, z) C(z, y) {1,, n}, deci |C(x, z) C(z, y)| n.
Z2) a celor 9 bii este 0. Deci, Deci|C(x, z)| |C(z, y)| |C(x, z)C(z, y)| n.
9
P {x1 x8x9 (Z2) | x1 x9 0}. ns C(x, z)C(z, y) C(x, y), deci
Cte cuvinte are P? Care e rata sa?
Posibilitatea unui cod C de a corecta erori se bazeaz n 4
n onoarea lui Richard Hamming (1915-1998), matematician american,
ntregime pe ideea c, dac un cuvnt cod c C este afectat pe fondator, alturi de Shannon, al teoriei informaiei (articolul Error detecting and
error correcting codes, 1950).
canalul de transmisie de (un numr mic de) erori, cuvntul receptat
15 16

n |C(x, z)| |C(z, y)| |C(x, z)C(z, y)| Un algoritm care realizeaz acest lucru se numete algoritm de
|C(x, z)| |C(z, y)| |C(x,y)|. maxim verosimilitate (maximum likelihood algorithm). In cazul
n canalului qSC(p):
Pentru x A i r 0, sfera (bila) de raz r centrat n x este d y ,c
mulimea cuvintelor care snt la distan cel mult r fa de x: d(y,c) n d(y,c) n p
prob(y|c) p (1 p) (1 p) ,
n
Br(x) : {y A | d(x, y) r}. 1 p
n
Pentru x A , unde |A| q, i 1 i n, exist exact 1 p
cu 0 p , deci 1.
Cni q 1i cuvinte aflate la distan exact i de x. Deci orice dou 2 1 p
sfere de raz r au acelai volum (numr de elemente), anume: Astfel, prob(y|c) e maxim d(y, c) este minim. Aceasta arat
c algoritmul de maxim verosimilitate e echivalent cu:
6 Propoziie. Fie |A| q. Numrul de elemente al unei sfere de
n Algoritmul de distan minim (Minimum Distance
raz r din A este n
r Decoding). Pentru orice y A , algoritmul produce un cuvnt cod
|Br| |Br(x)| Cni q 1i . w(y) C care este cel mai apropiat de y:
i 0
d(y, w(y)) min {d(y, c) | c C}.
n
7 Definiie. Distana minim a unui cod C A este:
d(C) : min {d(x, y) | x, y C, x y}. Este important de tiut cnd un astfel de algoritm funcioneaz.
n
Distana minim d(C) este un parametru foarte important al 8 Definiie. Capacitatea de corectare a unui cod C A cu
codului. Orice dou cuvinte cod distincte ale lui C difer n cel distana minim d(C) este
puin d(C) poziii, i exist mcar o pereche de cuvinte cod la e(C) b(d(C) 1)/2c.
distan exact d(C).
Rezultatul urmtor justific denumirea de mai sus.
S presupunem c la transmiterea unui cuvnt cod c C apar
n
erori, iar y este cuvntul recepionat. Trebuie s gsim c cunoscnd 9 Teorem. Fie C A un cod cu d(C) d i e(C) e
n
doar pe y. Pentru orice y A i c C, fie prob(y|c) probabilitatea b(d 1)/2c. Atunci:
ca y s fie recepionat cnd c este trimis. La recepionarea lui a) Orice dou sfere de raz e centrate n cuvinte cod distincte
n
y A , trebuie s gsim un cuvnt cod m(y) C astfel nct snt disjuncte.
n
prob(y|m(y)) s fie maxim: b) Dac la transmiterea unui cuvnt cod c C, x A este
prob(y|m(y)) max { prob(y|c) | c C}. recepionat i au avut loc cel mult e erori (d(c, x) e), atunci c
17 18

este unicul cuvnt cod din C cel mai apropiat de x (algoritmul de transmiterii n alt cuvnt cod c'. Astfel, dac receptorul primete un
distan minim decodeaz corect pe x n c) cuvnt cr care nu este cuvnt cod, semnaleaz eroare (i cere
c) Dac d este impar, (deci d 2e 1), atunci exist cuvinte eventual retransmiterea cuvntului). De aceea, d 1 se numete
n
cod u, v C i x A astfel nct d(u, x) e 1, d(v, x) e. Deci capacitatea de detectare a codului C.
exist o situaie cnd un cuvnt u este afectat de e 1 erori i nu n unele cazuri o combinaie a acestor moduri este posibil (un
este decodat corect de algoritmul de distan minim. exemplu remarcabil este schema de corectare/detectare de erori
n
Demonstraie. a) Presupunem c exist u, v C i x A folosit la Compact Disc).
astfel nct x Be(u)Be(v). Atunci:
d(u, v) d(u, x) d(x, v) e e d, contradicie. 11 Definiie. Un cod q-ar tip [n, k] cu distana minim d este
b) Avem d(c, x) e, deci x Be(c). Pentru orice alt u C, numit cod tip [n, k, d]q sau [n, k, d]q-cod. Adesea, indicele q este
x Be(u), deci d(x, u) e. omis dac este clar din context.
c) Exerciiu. tersturi. Am definit o eroare ca fiind o situaie cnd un
n
Dac x A este recepionat i min{d(x, c) | c C} e, mai simbol transmis e recepionat ca un simbol diferit. n acest caz
multe cuvinte cod pot fi la distan de x. Aceasta nseamn c o receptorul nu tie apriori c o eroare a avut loc, nici nu tie unde e
decodare corect nu e posibil. Chiar dac exist un unic c C la plasat eroarea. Un alt model pentru canalul de transmisie include
distan , decodarea lui x n c poate fi incorect, ca n c) mai sus. tersturi (erasures): simbolul recepionat nu poate fi citit. O
terstur poate fi interpretat ca o eroare a crei poziie e
10 Observaie. Utilizarea unui cod C de lungime n, distan cunoscut. tersturile snt mai uor de corectat (cci snt deja
minim d i capacitate de corectare e se poate face n dou moduri detectate i localizate). Putem modela aceast situaie permind ca
distincte: n cuvintele receptate s poat aprea i un nou simbol * (care
- modul corectare de erori: se presupune c orice bloc de n noteaz o terstur); desigur, * nu aparine alfabetului A. Notm
simboluri c este afectat de cel mult e erori. Dac cuvntul deci A* A {*}. Pentru orice c c1cn C transmis, fie
n
recepionat este cr, cr poate fi decodat n mod univoc n c. De aici x x1xn A* cuvntul recepionat. Fie S {i | xi *} mulimea
n |S|
provine i denumirea de capacitate de corectare a lui C ce se d poziiilor lui x unde snt tersturi i fie xS A cuvntul x din
lui e. care eliminm toate tersturile. Algoritmul de distan minim, n
- modul detectare de erori: se presupune c la transmiterea acest caz, va cuta un cuvnt cod c' C astfel nct
oricrui bloc de n simboluri apar cel mult d 1 erori. Atunci d(xS, c'S) min {d(xS, yS) | y C}.
niciun cuvnt cod c nu poate fi transformat pe parcursul
19 20

Rezultatul urmtor generalizeaz Teorema 9 pentru cazul cnd P(C) depinde i de canal (adic de q i probabilitatea de tranziie
apar tersturi i erori simultan: p), nu numai de codul C.
n
12 Teorem. Fie C A un cod de distan minim d. Pentru a enuna teorema fundamental a lui Shannon asupra
n
Presupunem c c C este transmis, x A* este recepionat i au capacitii unui canal qSC(p), definim Hq : [0, (q 1)/q] R,
aprut erori i tersturi, unde 2 d. Atunci c este unicul funcia de entropie q-ar: p (0, (q 1)/q],
cuvnt cod din C cu proprietatea c Hq(p) plogq( p/(q 1)) (1 p)logq(1 p),
d(xS, cS) min {d(xS, yS) | y C}
i punem Hq(0) 0 prin continuitate. Funcia de capacitate q-ar
Deci, algoritmul de distan minim decodeaz corect pe x n c.
Cq este definit pe [0, 1/q] astfel:
Demonstraie. Folosim notaiile de mai sus. S {i | xi *} are
Cq( p) 1 Hq((q 1)p), p [0, 1/q].
elemente. Avem d(xS, cS) . Fie y C, y c, i s presupunem
n cazul q 2, o interpretare a H2( p) este urmtoarea: pentru un
prin reducere la absurd c d(xS, yS) . Atunci:
simbol transmis s, H2( p) este incertitudinea ca simbolul
d(yS, cS) d(yS, xS) d(xS, cS) 2.
recepionat s' s fie chiar s (echivalent, C2( p) 1 H2( p) este
Aceasta implic d(y, x) 2 d, contradicie.
cantitatea de informaie pe care s' o poart despre s). Dei extrem
Teorema lui Shannon asupra capacitii unui canal. Fixm un de interesante i instructive, nu insistm asupra acestor aspecte,
canal qSC(p). Pentru un cod q-ar C dat i un cuvnt cod x C, deorece in mai mult de teoria informaiei dect de codare i
Px(C) este definit ca probabilitatea ca, la transmiterea lui x pe necesit incursiuni n teoria probabilitii. Cq( p) se numete
canal, cuvntul receptat s nu fie decodat corect de algoritmul de capacitatea canalului qSC( p).
distan minim.
13 Teorem (Shannon) Fie un canal qSC( p). Atunci, pentru
Definim probabilitatea de eroare (sau ateptarea de eroare,
orice R cu R Cq( p), exist un ir de coduri (Cm)m 1, de tip
error expectation) P(C) ca fiind media acestor probabiliti
[nm, km], cu rat Rm km /nm R, astfel nct P(Cm) 0 cnd
individuale:
m .
P(C) C Px (C ) .
1

xC
Pentru orice R Cq( p), nu exist iruri de coduri cu rate R i
probabiliti de eroare care tind la zero.
Aceasta este o msur important a calitii codului: snt
interesante codurile C pentru care P(C) este foarte mic. Desigur, Teorema lui Shannon spune n esen c dac rata R de
transmisie e mai mic dect capacitatea Cq(p) a canalului, atunci
21 22

exist coduri de rat (cel puin) R cu probabilitate de eroare decodai urmtoarele cuvinte recepionate: a) 00000; b) 01111; c)
arbitrar de mic. 10110; d) 10011; e) 11011.
Demonstraia nu este constructiv, adic nu furnizeaz explicit 5. Presupunem c un cod C are distana minim numr par:
*
un ir de coduri cu proprietile din enun. De aceea, unul din d 2m, cu m N . Atunci e m 1. Demonstrai c exist dou
scopurile teoriei codurilor este de a gsi coduri sau familii de cuvinte b, c C i o situaie cnd b este transmis i este afectat de
coduri care au rata ct mai apropiat de capacitatea canalului i e 1 m erori, situaie n care algoritmul de distan minim nu
probabilitatea de eroare ct mai mic. decodeaz unic cuvntul recepionat y n b (mai precis
d(y, b) d(y, c) m).
Vom prezenta numai aspecte din teoria codurilor bloc
corectoare de erori i unele aplicaii, ignornd o clas de coduri 6. Fie codul de repetiie Cn de lungime n peste un alfabet q-ar A,
n
corectoare de erori numite coduri convoluionale. Un codor Cn : {cc A | c A}. Estimai rata Rn i ateptarea de eroare
convoluional tip [n, k] divide mesajul de intrare n blocuri de P(Cn) pentru un canal qSC(p). Satisface irul (Cn)n 1 teorema lui
lungime k i le codeaz ca blocuri de lungime n. Dar codarea unui Shannon?
bloc depinde nu numai de ultimul bloc mesaj (ca la codurile bloc 7. Fie n 2. Fie C un cod binar de lungime n i distan minim n.
corectoare de erori), ci i de m blocuri de informaie precedente Cte cuvinte are C? Cte astfel de coduri exist? Tratai cazul q-ar.
(unde m este un numr fixat). 8. Un numr ISBN este un ir de simboluri de forma x1 x10, cu
x1, , x9 {0, 1, , 9}, x10 {0, 1, , 9, X} i i 1 ixi 0 (mod
10

11), unde X noteaz numrul 10. a) Cum putei defini aceast


schem de codare n contextul teoriei codurilor (care este alfabetul,
Exerciii codul, rata etc.)? b) Cte numere ISBN exist?; c) Demonstrai c
aceast schem de codare poate detecta permutarea a dou
1. Dai exemplu de cod binar de lungime 3 cu 4 cuvinte cod. De ce simboluri i schimbarea unui simbol cu altul. d) Care este distana
nu exist niciun cod binar de lungime 4 cu 18 cuvinte cod? minim a acestui cod?
2. De ce este funcia de codare presupus injectiv?
3. De ce rata unui cod este definit ca logq|C|/n?
4. Fie codul binar C {01101, 00011, 10110, 11000}. Determinai
distana sa minim i rata. Folosind algoritmul de distan minim,
24

n acest capitol notm cu F un corp comutativ fixat. Corpul cu q


elemente este notat Fq. Cititorul care nu este nc familiarizat cu
corpurile finite poate presupune c F este corpul cu dou elemente
F2 Z2 {0, 1} (inelul de clase de resturi modulo 2).
Cnd vorbim de spaii liniare peste F, elementele lui F mai snt
II. Coduri liniare numite scalari. O mulime nevid V (ale crei elemente le numim
vectori) se numete spaiu liniar (sau vectorial) peste F dac:
- este definit o adunare a vectorilor din V, adic o funcie
Dezvoltarea teoriei codurilor bloc corectoare de erori, precum i : V V V, (u, v) u v, u, v V;
gsirea unor algoritmi eficieni de codare i decodare, snt mult - este definit o nmulire a vectorilor din V cu scalari din F:
uurate pentru acele coduri C care au o anumit structur. O astfel : F V V, (, v) v V, F, v V;
de situaie este cea n care alfabetul este un corp finit F (cu q - aceste operaii satisfac condiiile urmtoare:
elemente, unde q este o putere a unui numr prim), iar codul C, (V, ) este un grup abelian, adic:
n n
submulime a lui F , este subspaiu liniar n F . Dei aceste a) Adunarea e asociativ: (x y) z x (y z), x, y, z V.
condiii limiteaz drastic clasa codurilor pe care le studiem, b) Adunarea e comutativ: x y y x, x, y V.
aceast clas este suficient de vast pentru a furniza coduri c) Exist un vector 0 V astfel nct x 0 0 x x, x V.
importante i eficiente, folosite pe scar larg n practic. n d) Pentru orice x V exist x V astfel nct
continuare presupunem c cititorul este familiarizat cu noiuni i x ( x) ( x) x 0.
rezultate elementare de algebr liniar: spaiu liniar, dependen Adunarea vectorilor i nmulirea cu scalari satisfac n plus
liniar, sistem de generatori, baze, dimensiune, produsul scalar proprietile urmtoare, pentru orice F i x, y V:
n
standard n F-spaiul liniar F . e) (x y) x y
f) ()x (x)
Reamintim n continuare cteva lucruri de baz privind spaiile
g) 1x x, unde 1 noteaz elementul unitate al lui F.
liniare. Unele rezultate snt date fr demonstraie. Acest paragraf
Am notat cu 0 att vectorul 0 ( V), ct i scalarul 0 ( F).
are rolul de a fixa notaiile i de a enuna unele rezultatele pe care
Cititorul nu trebuie s le confunde. n loc de spaiu liniar peste
le vom utiliza, dar nu se poate substitui unei curs de algebr
F, se spune adesea F-spaiu liniar.
liniar.

23
25 26
n *
1 Exemplu. a) Mulimea F {(x1, , xn) | xi F, 1 i n} b) Pentru orice k N , mulimea polinoamelor de grad k din
este un F-spaiu liniar. Adunarea i nmulirea cu scalari se F[X] este un subspaiu liniar n F[X] (verificai!).
definesc pe componente:
(x1, , xn) (y1, , yn) : (x1 y1, , xn yn), 4 Observaie. Condiia (din definiia noiunii de subspaiu
(x1, , xn) : (x1, , xn), liniar) ca sumbulimea C s fie parte stabil la nmulirea cu scalari
n
pentru orice (x1, , xn), (y1, , yn) F , F. este superflu n cazul n care F este corpul cu dou elemente Z2.
Verificarea faptului c V este ntr-adevr un spaiu linar este De ce? Mai putei da exemple de corpuri pentru care se ntmpl
imediat. Vectorul 0 este 0 : (0, , 0). Pentru orice acelai fenomen? Ce se ntmpl dac F Q?
n
(x1, , xn) F , avem (x1, , xn) : ( x1, , xn).
5 Definiie. Fie F V, n 1 i v1, , vn V. Orice vector de
Exemplul acesta este fundamental (n sensul c orice F-spaiu
n forma
liniar finit dimensional este izomorf cu un unic F ). n esen,
1 v1 n vn ,
acestea snt spaiile liniare cu care vom lucra.
unde 1, , n F, se numete combinaie liniar a vectorilor
b) Mulimea polinoamelor cu coeficieni n F, F[X], este un F-
v1, , vn. Scalarii 1, , n se numesc coeficienii acestei combi-
spaiu liniar. Care snt operaiile?
naii liniare, iar numrul natural n se numete lungimea
2 Definiie. O submulime nevid C a unui F-spaiu liniar V combinaiei liniare. Convenim c vectorul 0 este singura
este un subspaiu liniar al lui V dac C este el nsui un F-spaiu combinaie liniar de o mulime vid de vectori.
liniar cu adunarea vectorilor i nmulirea cu scalari definite pe V. Dac C este un subspaiu n V, atunci orice combinaie liniar
Mai precis, C este subspaiu liniar n V dac C este o mulime de de vectori din C este n C.
vectori din V care este parte stabil la adunare i la nmulirea Pentru orice submulime S a lui V, cel mai mic (n sensul
extern cu scalari din F: incluziunii) subspaiu al lui V care include S se numete subspaiul
u, v C, F, au loc: u v C i v C. generat de S i este notat S . Se poate arta uor c S exist
Scriem C FV dac C este un subspaiu al F- spaiului liniar V (este intersecia tuturor subspaiilor care includ S) i este mulimea
(sau mai simplu C V dac nu exist pericol de confuzie). tuturor combinaiilor liniare de vectori din S:
S {1v1 nvn | n N*, 1, , n F,
3 Exemple. a) Codul din exemplul I. 1 este C {000, 111} i v1, , vn S}.
3
este subspaiu al Z2-spaiului liniar Z2 (verificai!). Dac S V, S se numete un sistem de generatori pentru V.
27 28

O mulime B {v1, , vn} de vectori se numete liniar Este uor de vzut c este liniar dac i numai dac pstreaz
independent dac orice combinaie liniar de v1, , vn care este combinaiile liniare:
egal cu 0 are toi coeficienii egali cu 0: (1v1 nvn) 1 (v1) n(vn),
1, , n F, dac 1v1 nvn 0, atunci n N,1, , n F, v1, , vn U
1 n 0. Un morfism bijectiv de spaii linare se numete izomorfism.
O submulime B a lui V se numete baz a lui V dac B este Dac exist un izomorfism ntre spaiile liniare U i V, spunem c
liniar independent i B V. Dac B {v1, , vn} e finit, B U i V snt izomorfe i scriem U V.
este baz orice vector din V poate fi scris n mod unic ca o
combinaie liniar de {v1, , vn}: 9 Observaie. Dac V este un spaiu liniar de dimensiune n
n
v V, ! (1, , n) F astfel nct v 1v1 nvn . peste F i B {v1, , vn} este o baz pentru V, atunci funcia
n n
: F V, (1, , n) 1v1 nvn, (1, , n) F ,
n
6 Exemplu. O baz pentru F este baza canonic {e1, , en}, este un izomorfism (demonstrai!). Deci, toate F-spaiile liniare cu
unde e1 (1, 0, , 0), e2 (0, 1, , 0), , en (0, 0, , 1). aceeai dimensiune n snt izomorfe.
n
Exist multe alte baze n F (dac n 1 sau |F| 2). Fie : U V o aplicaie liniar i U, V spaii liniare de
7 Teorem. a) Orice F-spaiu liniar V are o baz. Mai mult, dimensiuni n, respectiv m. Se definesc:
orice mulime liniar independent de vectori poate fi completat - imaginea lui , Im {v V | u U astfel nct (u) v}
pn la o baz; din orice sistem de generatori ai lui V se poate - nucleul lui , Ker {u U | (u) 0}
extrage o baz. Este binecunoscut (i uor de demonstrat) c Im este
b) Orice dou baze ale lui V au acelai cardinal (acelai numr subspaiu n V i Ker este subspaiu n U. n plus, are loc
de elemente). Acest numr este numit dimensiunea lui FV i se rezultatul important:
noteaz dimFV (sau dim V). 10 Propoziie. Fie : U V o aplicaie liniar. Atunci:
8 Definiie. Fie U, V spaii liniare peste corpul F. O funcie dim Im dim Ker dim U.
: U V se numete aplicaie F-liniar (sau F-morfism de spaii O aplicaie liniar : U V este perfect determinat dac se
liniare, sau operator liniar) dac : cunosc valorile lui pe o baz {u1, , un} a lui U. Fixnd o baz
(x y) (x) (y), x, y U; {v1, , vm} n V, (uj) se scrie n mod unic ca o combinaie liniar
(x) (x), x U, F. de {v1, , vm}:
(uj) a1jv1 amjvm, pentru j 1, , n.
29 30

Se obine o matrice A (aij) de tip mn cu elemente din F, minim a lui C este d, spunem c C este cod liniar de tip [n, k, d]q
numit matricea aplicaiei liniare (n bazele alese). (sau cod liniar q-ar de tip [n, k, d]); n, k, d se numesc parametrii
Invers, fiind dat o matrice A (aij) M(m, n, F), exist o codului C. Observai c aceast notaie este n acord cu cea de la
k
unic aplicaie liniar A : U V astfel nct I.11: C este F-spaiu liniar de dimensiune k, deci C F i C are
k
A(uj) a1jv1 amjvm, pentru j 1, , n. q cuvinte cod.
Mai simplu, putem vedea A ca aplicaie liniar definit pe La un cod liniar C de tip [n, k, d], cuvintele cod au lungime n;
n m
spaiul vectorilor coloan F cu valori n F , numrul de simboluri care poart informaie este k. Restul de n k
T T
(x1, , xn) A(x1, , xn) . simboluri snt folosite pentru corectare/detectare de erori. Rata
Matricea compunerii a dou aplicaii liniare este produsul codului este R k/n.
matricelor corespunztoare (acesta este i motivul pentru care se
definete nmulirea matricelor n modul cunoscut). 13 Exemplu. Codul de repetiie de lungime 3 peste F2 n
3
exemplul I.1 este C {000, 111}, care este un subspaiu n F2 de
11 Propoziie. Fie A M(m, n, F). Atunci urmtoarele numere dimensiune 1 (de ce?). Distana minim a lui C este 3, deci C este
snt egale: un cod binar tip [3, 1, 3]. Astfel, capacitatea de corectare a lui C
- numrul maxim de linii liniar independente ale lui A; este e(C) 1.
- numrul maxim de coloane liniar independente ale lui A; Pentru un cod C dat, determinarea distanei minime este foarte
- ordinul maxim al minorilor nenuli ai lui A; important. A priori, pentru aceasta ar trebui s considerm toate
- dimensiunea subspaiului ImA. distanele d(x, y) cu x, y C distincte, adic |C|(|C| 1)/2 distane,
Acest numr se numete rangul lui A i se noteaz rang A. ceea ce este practic inabordabil (de exemplu, un cod Reed-
28 67
Revenim la coduri. Solomon folosit n CD-uri are 256 2.6910 cuvinte cod). La
coduri liniare, avem deja o sarcin uurat:
12 Definiie. Fie F un corp finit cu q elemente. Se numete cod
n
liniar de lungime n peste F orice subspaiu liniar C al lui F . 14 Propoziie. Fie F un corp finit. Atunci distana Hamming pe
n
Cu alte cuvinte, C este o mulime de cuvinte de lungime n n F este invariant la translaii: d(x, y) d(x z, y z), x, y,
n
care simbolurile snt elemente din F, nchis la adunarea (pe z F . n particular, d(x, y) d(x y, 0) i deci distana minim a
n
n
componente) din F i la nmulirea cu scalari din F. unui cod liniar C F este:
Dimensiunea codului liniar C este dimensiunea lui C ca spaiu d(C) min{d(x, 0) | x C, x 0}.
liniar peste F. Dac C este cod de lungime n, dim C k i distana
31 32

n
Ponderea (Hamming) wt(x) a unui cuvnt (vector) G M(k, n, F) ale crei linii (vzute ca vectori n F ) formeaz o
n
x x1xn F se definete ca numrul coordonatelor sale nenule baz n C. Deci, o matrice G este matrice generatoare pentru C
(echivalent, wt(x) d(x, 0)). Notaia wt vine de la weight (greutate,
dac i numai dac G este o matrice k n cu liniile liniar
pondere). Deci:
independente (condiie echivalent cu rang G k), iar subspaiul
15 Corolar. Distana minim a unui cod liniar este ponderea generat de liniile lui G este C.
minim nenul a cuvintelor cod. O matrice de paritate (se mai folosete terminologia matrice
Aadar, n locul calculului tuturor celor |C|(|C| 1)/2 distane, de control) a lui C este o matrice H (hij) M(n k, n, F) astfel
n
codurile liniare cer doar |C| 1 calcule de ponderi n scopul nct, x (x1, , xn) F :
aflrii distanei minime. n multe cazuri acest calcul este tot prea x C hi1x1 hinxn 0, 1 i n k.
lung, dar exist alternative mai rapide (Teorema 21 de mai jos). Deci, pentru ca H s fie o matrice de paritate pentru codul C de
dimensiune k, trebuie ca rang H n k i s aib loc:
Cum putem descrie n mod concret un cod liniar? Exist dou n T
x F : x C Hx 0 M(n k, 1, F).
moduri naturale de a da un subspaiu liniar C (un cod liniar) de
n O matrice de paritate a codului C nu este altceva dect matricea
dimensiune k n F :
unui sistem liniar omogen (cu ecuaiile liniar independente) ale
- se d o baz a lui C (adic se dau k vectori liniar independeni
crui soluii snt exact vectorii din C.
n C);
- se descrie C ca mulimea soluiilor unui sistem omogen de 17 Observaie. Denumirea de matrice de paritate (parity-check
n k ecuaii liniar independente. Reamintim c, dac matricea H matrix) provine din cazul particular al codului binar urmtor: se
a unui sistem liniar omogen cu n necunoscute are rang r, atunci * k
fixeaz k N i orice vector x1xk F2 este codat ca
n
mulimea soluiilor sistemului este subspaiu liniar n F , de x1xk xk 1, unde xk 1 este astfel nct x1 xk xk 1 0 (n
dimensiune n r, numit i spaiul soluiilor sistemului. Interpretnd F2). Codul este deci
H ca aplicaie liniar, aceasta nu este dect o reformulare a C {x1xk xk 1 F2
k1
| x1 xk xk 1 0}.
propoziiei 10. Orice cuvnt cod are un numr par de bii egali cu 1 i de aceea
Corespunztor, se obin urmtoarele noiuni: bitul xk 1 este numit bit de paritate. Verificarea faptului c un
cuvnt x este cuvnt cod revine la a verifica paritatea cuvntului,
n
16 Definiie. Fie C F un cod liniar de dimensiune k n peste adic un tip particular de sistem liniar omogen pe care l satisfac
corpul F. O matrice generatoare a lui C este o matrice coordonatele lui x. Acesta se numete codul (binar) de paritate i
33 34

este liniar, de tip [k 1, k, 2] (demonstrai!). Ce rat de transmisie b) Fie x S. Atunci x, y 0, y S , deci x este n

are? ortogonalul lui S .

d) Fie S {v1, , vk}. Deoarece S U, avem U S . Orice
n
18 Definiie. Definim produsul scalar standard pe F : x U este o combinaie liniar de vi : x 1v1 kvk, pentru
n
x (x1, , xn), y (y1, , yn) F , nite 1, k F. Pentru orice y S ,
x, y x1y1 xnyn F. x, y 1v1 kvk, y 1v1, y ... k vk, y 0,
n
Doi vectori x, y F se numesc ortogonali sau perpendiculari ceea ce arat c y U .
n n
dac x, y 0. Dac S F , fie S : {y F | x, y 0, x S}
ortogonalul lui S. 20 Teorem. Fie C un cod liniar de tip [n, k, d] peste corpul F.
Atunci:
Aadar: H M(n k, n, F) este matrice de paritate pentru
n a) C este un cod liniar de dimensiune n k (numit codul dual
C F liniile lui H snt liniar independente i C este mulimea
n lui C).
vectorilor din F ortogonali pe toate liniile lui H.
b) (C ) C.
n
Produsul scalar standard e o form biliniar simetric pe F , c) Dac G este o matrice generatoare a lui C, atunci G este o
n n
adic este o funcie , : F F F care satisface proprietile: matrice de paritate pentru C . Dac H este matrice de paritate

x, y y, x pentru C, atunci H este matrice generatoare pentru C .
x, y z x, y x, z Demonstraie. a) Fie G M(k, n, F) o matrice generatoare

x y, z x, z y, z pentru C. Atunci x C x este ortogonal pe liniile lui G (cci
x, y x, y
aceste linii genereaz C). Deci C este spaiul soluiilor sistemului
n
pentru orice x, y, z F , F. Demonstrai! liniar omogen de matrice G, care este de dimensiune
n n rangG n k.
19 Propoziie. Fie S F . Atunci:
n b), c) Exerciiu.
a) S este un subspaiu n F , numit subspaiul ortogonal pe S;
b) S S ;
Deoarece un spaiu liniar poate avea multe baze, un cod liniar
n
c) Dac T F i S T, atunci T S ;
poate avea multe matrice generatoare i multe matrice de paritate.
n

d) Dac U E, atunci U S , pentru orice sistem de gene- Observai c, spre deosebire de spaiile liniare reale (cum este R ),
n
ratori S al lui U. un vector nenul n F poate fi ortogonal pe el nsui (de ex. (1, 1)
2
Demonstraie. a), c) Verificare direct, cu definiia. n F2 ), deci este posibil ca C i C s aib intersecie nenul. Dac

C C , C se numete cod autodual (self-orthogonal code).
35 36

Distana minim a unui cod liniar poate fi citit de pe matricea 23 Definiie. (Coduri Hamming) Fie F corp cu q elemente i
*
sa de paritate: r N fixat. Definim codul Hamming q-ar de redundan r, notat
Hq, r, astfel:
21 Teorem. Fie C un cod liniar peste F i H M(n k, n, F) Construim o matrice de paritate H format din ct mai multe
o matrice de paritate pentru C. Atunci distana minim d a lui C coloane de lungime r care s aib orice 2 coloane liniar
este: independente (deci distana minim a codului va fi cel puin 3).
d min{ N | exist coloane n H liniar dependente} Aceasta nseamn ca, dac o coloan apare n matrice, nici un
1 max{ N | orice coloane din H snt liniar independente}. multiplu al coloanei nu mai poate aprea. Aadar, alegem cte un
nk r
Demonstraie. Fie Hi F coloana i a lui H, 1 i n. Avem vector nenul din fiecare subspaiu de dimensiune 1 din F i
(x1, , xn) C dac i numai dac x1H1 xnHn 0. Fie construim matricea H ce are drept coloane aceti vectori (ntr-o
d' min{ | exist coloane n H, liniar dependente}. ordine arbitrar). Matricea H este prin definiie matricea de
Fie (x1, , xn) C, de pondere minim d. Atunci coloanele Hi paritate H a codului Hq, r.
r
pentru care xi 0 (n numr de d) snt liniar dependente, deci Un alt mod de a exprima ideea de mai sus este: pe F \ {0}
d' d. Reciproc, fie o mulime de d' coloane {Hi}i J, liniar definim relaia de echivalen:
r *
n
dependent. Atunci exist (x1, , xn) F cu x1H1 xnHn 0 x, y F , x y F astfel nct y x
i xi 0 i J. Deci x (x1, , xn) C i d wt(x) d'. Din fiecare clas de echivalen alegem cte un vector. Aceti
vectori snt coloanele matricei de paritate H.
22 Observaie. Dac o coloan a matricei de paritate este 0,
Cte coloane are H ? Se observ c clasele de echivalen de
atunci distana minim a codului este 1 (deci codul este
mai sus au fiecare cte q 1 elemente (clasa de echivalen a lui
neinteresant din punct de vedere al capacitii de corectare). r *
x F \ {0} este {x | F }). Cum reuniunea lor (disjunct)
Justificai! r r
este F \ {0}, avem q 1 n(q 1), unde n este numrul claselor
Construim o clas important de coduri de distan minim 3, de echivalen.
r
pe baza acestui rezultat. Familia de coduri descris n continuare a Deci H are n (q 1)/(q 1) coloane i r linii.
fost descoperit independent n 1949 de Marcel Golay i n 1950 Pentru ca H M(r, n, K) s fie matrice de paritate, trebuie ca
de Richard Hamming. rang H r. Exist ntr-adevr r coloane liniar independente n H,
T T
de exemplu (multipli scalari de) (1, 0, , 0) , (0, 1, , 0) , ,
T
(0, 0, , 1) .
37 38
n n
Exist 3 coloane liniar dependente (justificai!), deci distana : F F cu proprietatea c d((x), (y)) d(x, y), pentru orice
n
minim a lui Hq,r este 3, din Teorema II.21. n concluzie: x, y F , se numete izometrie).

24 Propoziie. Hq,r este un cod liniar q-ar de tip 26 Exerciiu. Folosim notaiile de mai sus. Demonstrai c:
r r
[(q 1)/(q 1), (q 1)/(q 1) r, 3]. a) Compunerea a dou izometrii (liniare) este o izometrie
(liniar).
25 Observaie. Construcia de mai sus nu determin n mod b) Orice izometrie este bijectiv. Mulimea izometriilor liniare
unic matricea de paritate H. De exemplu, pentru dou ordonri n
ale lui F formeaz un grup n raport cu compunerea.
diferite ale coloanelor se obin dou matrice de paritate H, H' c) ((x1,, xn)) (1x(1), ,nx(n)). Notm aceast
distincte i deci coduri Hamming corespunztoare distincte C, C'. izometrie cu M
ns aceste coduri snt echivalente pn la o permutare, n sensul d) MM((x1,, xn)) (1(1)x((1)), ,n(n)x((n))).
c exist o permutare Sn (grupul permutrilor mulimii {1, 2, e) Orice izometrie liniar duce vectori de pondere 1 n vectori
, n}) astfel nct: de pondere 1.
n
x1xn F : x1 xn C x(1) x(n) C'. f) Orice izometrie liniar este de forma M, cu
Altfel spus, funcia : C C', (x1xn) x(1) x(n) este * n
(1, , n) (F ) i Sn.
o bijecie. g) Scriei matricea izometriei liniare M. O astfel de matrice
Pe de alt parte, dac n matricea de paritate H a codului se numete matrice monomial.
Hamming C se nlocuiete coloana i (fie aceasta Pi) cu coloana
*
Pi, unde F , atunci matricea H' obinut este matrice de 27 Definiie. Codurile C i C' de lungime n peste F se numesc
n n
paritate pentru un cod C'. Are loc: izometric echivalente dac exist o izometrie : F F astfel
n 1
x1xixn F , x1xixn C x1( xi)xn C. nct (C) C'. Dou coduri liniare C i C' se numesc izometric
Aceast situaie sugereaz definirea unui alt tip de echivalen: echivalente (sau monomial echivalente) dac exist o izometrie
n n
dou coduri C, C' de lungime n peste corpul F se numesc diagonal liniar : F F astfel nct (C) C'.
* n
echivalente dac (1, , n) (F ) astfel nct (x1,, Pe mulimea codurilor liniare de lungime n peste F, relaia C
n
xn) F , avem (x1,, xn) C (1x1,, nxn) C', adic este izometric echivalent cu C' este o relaie de echivalen.
: C C', (x1,, xn) (1x1,, nxn), este o bijecie. Se demonstreaz uor c orice izometrie este injectiv. ntruct
n
Se demonstreaz uor c funciile i de mai sus snt F este o mulime finit, rezult ca izometriile snt bijecii. Deci
izometrii, adic pstreaz distanele Hamming (o funcie dou coduri izometric echivalente au acelai numr de cuvinte
39 40

(aceeai dimensiune, pentru coduri liniare). n plus, dou coduri I was a pure mathematician I felt somewhat lost at the place. Every
once in a while I got terribly discouraged at the department being mostly
izometric echivalente C i C' se comport identic din punct de electrical engineering.
vedere al teoriei codurilor: au aceeai distan minim, aceeai La Bell Labs aveau un computer Model V, care ocupa 90 metri ptrai,
cntrea 10 tone i putea rezolva sisteme liniare de 13 ecuaii n mai puin de 4
distribuie a ponderilor (dac C are nk cuvinte de pondere k, C' are ore. Hamming avea acces doar n weekend la computer; cum nu exista personal
tot nk cuvinte de pondere k). De aceea, este util o clasificare a de supraveghere n weekenduri, dac computerul descoperea o eroare, abandona
pur i simplu sarcina i trecea la urmtoarea.
codurilor liniare pn la o izometrie (liniar, n cazul codurilor Two weekends in a row I came in and found that all my stuff had been
liniare). dumped and nothing was done. I was really aroused and annoyed
because I wanted those answers and two weekends had been lost. And so
Un studiu aprofundat privind izometriile i clasele de I said Damn it, if the machine can detect an error, why cant it locate
echivalen (pn la o izometrie) de coduri liniare este realizat n the position of the error and correct it?
Codul pe care l-a descoperit Hamming este chiar codul binar tip [7, 4, 3] de
monografia [2]. mai sus, care poate corecta o eroare la 7 simboluri. Nu este totdeauna de dorit s
obinem coduri care s corecteze ct mai multe erori, deoarece rata de transmisie
28 Exemplu. (codul binar Hamming [7, 4, 3]) Pentru q 2 i ar putea fi prea mic sau decodarea ar putea consuma prea mult timp. Este
necesar obinerea de coduri suficient de bune pentru o anumit sarcin.
r 3, avem n 7. Cum F F2, corpul cu dou elemente, coloanele Hamming spunea n legtur cu aceasta:
lui H snt unic determinate pn la o ordonare (orice subspaiu de The Relay Computer, operating with a self-checking code, stops
whenever an error is detected. Under normal operating conditions this
dimensiune 1 are un unic vector nenul). Alegem s ordonm amounts to two or three stops per day. However, if we imagine a
5
coloanele lexicografic (adic scriem vertical toate numerele comparable electronic computing machine operating 10 times the speed
3
and with elements 10 times more reliable than relays, we find two to
nenule de 3 cifre n baza 2, n ordine cresctoare). Deci H este:
three hundred stops per day.
1 0 1 0 1 0 1 Putem spune c Hamming a prevzut apariia att a computerelor rapide de
H 0 1 1 0 0 1 1 astzi, ct i a sistemelor de operare Windows.

0 0 0 1 1 1 1 O matrice de paritate a codului binar Hamming [7, 4, 3] este
Acest cod are o importan istoric deosebit: A fost primul cod imprimat pe medalia Richard W. Hamming a IEEE (Institute
corector de erori folosit n computere (coduri detectoare de erori of Electrical and Electronics Engineers)5:
mai fuseser folosite nainte).

Studiile superioare ale lui Hamming erau de matematic pur, iar teza sa de
doctorat era despre ecuaii difereniale. A fcut parte din "Manhattan Project",
proiectul ultrasecret de fabricare a bombei atomice de la Los Alamos din timpul
celui de al doilea rzboi mondial. n 1946 a plecat de la Los Alamos la Bell 5
Laboratories: Matricea de pe medalie nu este cea aleas de noi. Ce legtur este ntre
codurile respective?
41 42

deci poate fi corectat!). Demonstraia acestei scamatorii e


propus ca exerciiu.
Acest cod este mai eficient dect codul binar de repetiie de
lungime 3. Rata sa este 4/7, o mbuntire substanial fa de 1/3.
Dar poate corecta maximum o eroare la 7 bii, n timp ce codul de
repetiie corecteaz o eroare la 3 bii.

29 Exerciiu. Presupunem c folosim codul H2, 3 i c s-a


recepionat cuvntul 110100. Decidei dac au avut erori i
corectai.
S descriem o modalitate practic de codare i de decodare
pentru acest cod H2, 3. ntruct este un cod tip [7, 4], fiecare mesaj n continuare prezentm cteva inegaliti (bounds) pe care le
de 4 bii este codat pe un cuvnt cod de 7 bii. Coordonatele unui satisfac parametrii unui cod oarecare. Pentru n, q, d fixate, un cod
T
cuvnt cod d d1 d7 H2, 3 satisfac ecuaia Pd 0, adic q-ar C de lungime n i distan minim d nu poate avea prea multe
d1 d3 d5 d7 0 cuvinte (cuvintele cod trebuie sa fie suficient de mprtiate, la
distan cel puin d unul de altul).
d2 d3 d6 d7 0 (*)
d4 d5 d6 d7 0 30 Teorem (inegalitatea Hamming). Fie C un cod q-ar (nu
Alegem biii d1, d2, d4 s fie de control, iar biii mesajului neaprat liniar) de lungime n cu capacitate de corectare e. Atunci
original snt plasai n poziiile 3, 5, 6, 7. Biii d1, d2, d4 se obin din e
C Cni q 1i q .
n
ecuaiile de mai sus, adic d1 d3 d5 d7 etc.6
i 0
La recepia unui cuvnt de 7 bii r r1 r7, se verific dac r n n
Demonstraie. Snt q elemente n A i |C| cuvinte cod n C.
este cuvnt cod (adic dac r1, , r7 satisfac ecuaiile (*)). Altfel
T Sferele de raz e centrate n cuvintele cod snt disjuncte dou cte
spus, se calculeaz (c1, c2, c3) H(r1,, r7) . n
dou, deci |C||B(x, e)| q . nlocuind |B(x, e)| cu volumul sferei
Dac (c1, c2, c3) (0, 0, 0), atunci nu au avut loc erori. Dac
(I.6) se obine rezultatul.
(c1, c2, c3) (0, 0, 0), atunci eroarea (presupus a fi singura) e
Pentru orice cod C (nu neaprat liniar) de capacitate de
plasat n bitul a crui poziie este dat de numrul binar c3c2c1 (i
corectare e, sferele centrate n cuvintele cod de raz e snt
n
6
De ce s-a ales astfel poziia biilor de control? disjuncte; dac reuniunea lor este ntreg F , atunci codul se
43 44
nd1
numete (e-)perfect. Echivalent, un cod este perfect dac are loc simboluri. Atunci |C| q . Dac C este liniar, atunci
egalitate n inegalitatea Hamming. d n k 1.
nd1
Demonstraie. Pentru (x1, , xn d 1) A fixat, exist
31 Exerciiu. Orice cod e-perfect are distan minim 2e 1. cel mult un cuvnt cod n C ale crui coordonate de pe primele
Codurile Hamming snt 1-perfecte (verificai!). Altfel spus, n d 1 locuri snt (x1, , xn d 1) (dac ar exista dou astfel de
n nd1
orice cuvnt din F se gsete la distan 1 de exact un cuvnt cuvinte n C, distana dintre ele ar fi d). Deci |C| |A|
nd1 k
cod. Acest fenomen are aplicaii oarecum surprinztoare. q . Dac C este liniar, atunci |C| q .
Codurile liniare pentru care d n k 1 se numesc coduri
32 Aplicaie. Jocul Pronosport const n ghicirea rezultatelor a
MDS (Maximum Distance Separable) i snt cele mai bune
13 partide de fotbal. Rezultatul unei partide este un element al
dintr-un anumit punct de vedere (distana minim a codului este
mulimii {x, 1, 2} (x egalitate; 1 ctig gazdele; 2 ctig
maxim posibil dac dimensiunea i lungimea codului snt fixate).
oaspeii). Juctorii completeaz variante; numim variant orice
13-uplu (s1,, s13), cu si {x, 1, 2}. Pentru a ctiga cu siguran Rezultatele de mai sus limiteaz numrul cuvintelor cod, pentru
premiul I (13 rezultate exacte), este necesar a priori completarea a o lungime i o distan minim date (upper bounds). Iat i
13
3 variante. Se pune ntrebarea: care este numrul minim de rezultate care afirm c, pentru o distan minim dat, exist
variante ce trebuie completate pentru a ctiga cu siguran coduri care conin mcar un numr garantat de cuvinte (lower
premiul II (12 rezultate exacte)? bounds).
Reformulm problema n termenii teoriei codurilor: Fie F Z3.
13 34 Teorem (Inegalitatea Gilbert, Gilbert Bound) Fie q, n N
S se gseasc o submulime (un cod) S F (ct mai mic),
13 i d n. Atunci exist coduri q-are (nu neaprat liniare) C de
astfel nct orice cuvnt din F s se gseasc la distan cel mult
1 de un cuvnt din S. Altfel spus, s se gseasc un cod 1-perfect lungime n i distan minim d astfel nct:
qn
de lungime 13 peste Z3. |C| d 1 .
n
Rspunsul este dat de codul Hamming cu q 3 i r 3: avem q 1
i

3 i 0 i
n (3 1)/2 13, deci este un cod tip [13, 10, 3]3. Numrul de
10
cuvinte cod (de variante) este 3 59049. Demonstraie. Dintre codurile q-are de lungime n i distan
minim d alegem un cod C cu un numr maxim de cuvinte.
33 Teorem. (inegalitatea Singleton, Singleton Bound) Fie C Presupunem c pentru C inegalitatea de mai sus este fals. Atunci
un cod de lungime n i distan minim d peste un alfabet A cu q
45 46
1
reuniunea sferelor de raz d 1 centrate n cuvintele din C este pentru c ( ) (x y) C.
n
strict inclus n F , deoarece: Cum v C' \ C , C' include strict pe C, contradicie cu
d 1
maximalitatea lui C.
Bd 1 x C n q 1
i
qn ,
xC i 0 i 36 Teorem (Inegalitatea Varshamov, Varshamov Bound) Fie
n
Deci, exist v F cu d(v, C) min{d(v, x) | x C} d. F un corp finit cu q elemente. Dac
Atunci C {v} are mai multe cuvinte dect C i are distana
d 2
n 1
q 1 .
nk i
q
minim d, contradicie. i 0 i
atunci exist un cod F-liniar C, de tip [n, k], cu distana minim
Versiunea liniar a rezultatului de mai sus este urmtoarea:
cel puin d.
35 Teorem Fie F un corp finit cu q elemente, n N i d n. Demonstraie. Artm c exist o matrice H tip (n k) n
Atunci exist coduri liniare C de lungime n peste F i distan peste F astfel nct orice d 1 coloane ale lui H snt liniar
minim d astfel nct: independente. Construim coloanele c1, , cn ale lui H astfel:
nk nk
qn Fie c1 orice vector nenul din F . Fie c2 F \ < c1 >.
|C| d 1 .
n Pentru orice 2 j n, fie cj orice vector care nu se poate scrie
q 1
i

i 0 i ca o combinaie liniar de d 2 (sau mai puini) vectori dintre


Demonstraie. Dintre codurile liniare peste F de lungime n i c1, , cj 1. Exist un astfel de vector?
distan minim d alegem un cod C cu un numr maxim de O combinaie liniar de i vectori (i d 2) alei dintre
cuvinte. Ca la demonstraia precedent, dac concluzia este fals, c1, , cj 1 este determinat dac alegem i indici din j 1 i
n
atunci exist un v F cu d(v, C) min{d(v, x) | x C} d. Fie C' atam fiecrui indice un coeficient nenul din F. Aceasta se poate
subspaiul liniar generat de C i v. Demonstrm c d(C') d. E j 1
q 1 moduri. Deci exist cel mult
i
face n
suficient s artm c pentru orice , F, x, y C, i
x v y v implic d(x v, y v) d. Avem: d 2
j 1
q 1 astfel de vectori. Deoarece
i

d(x v, y v) wt(x y ( )v) d(x y, ( )v).


i 0 i

Dac 0, atunci d(x y, 0) d(x, y) d dac x y. d 2


j 1 d 2
n 1
q 1 q ,
i i n k
q 1
Dac 0, atunci: i 0 i i 0 i
1 1
wt(x y ( )v) wt(( ) (x y) v) d(( ) (x vectorul cj poate fi gsit, pentru orice j n.
y), v) d,
47 48

Fie C subspaiul ortogonal pe liniile lui H. Atunci C are Exerciii


dimensiune cel puin k (liniile lui H pot s nu fie liniar
independente, adic rang H n k). Deoarece un cuvnt din C de n
1. Fie F un corp cu q elemente, n N i m q . Cte coduri de
pondere d corespunde unei combinaii liniare nule de mai puin lungime n peste F cu m cuvinte exist? Cte din acestea snt
dect d coloane ale lui H, ponderea minim a cuvintelor nenule din k
liniare? (Ind. Dac m nu este de forma q , nu exist subspaii
C este cel puin d. Dac vrem un cod de dimensiune exact k, n k
liniare cu m elemente n F . Dac m q , trebuie gsit numrul
alegem orice subspaiu al lui C de dimensiune k. n
subspaiilor liniare de dimensiune k din F .)
n
Versiunile asimptotice (nu aprofundm acest aspect) ale 2. Fie C F , dim C k i fie y C . Demonstrai c funcia
acestor inegaliti coincid, i de aceea se vorbete de inegalitatea py : C F, py(x) x, y este un morfism surjectiv de spaii liniare,
Gilbert-Varshamov. iar nucleul su are dimensiunea k 1. Artai c, F, exist
k1
exact q elemente x n C astfel nct x, y . (Ind. Aplicai
37 Observaie. O problem important n teoria codurilor
teorema fundamental de izomorfism.)
(departe de a fi rezolvat n cazul general) este aceea de a
3. Scriei o matrice de paritate pentru codul din Aplicaia 32.
determina, pentru q fixat, cardinalul celui mai mare cod (respectiv
celui mai mare cod liniar) de lungime n i distan minim d, notat 4. Demonstrai c a scrie o matrice de paritate a unui cod [n, k, d]
nk
Aq(n, d) (respectiv Bq(n, d)). Echivalent, se pune problema gsirii peste F este echivalent cu a scrie n vectori coloan din F cu
codului q-ar de o mrime (dimensiune, n cazul codurilor liniare) proprietatea c oricare d 1 snt liniar independeni (i exist d
dat, care s aib cea mai mare distan minim. Exist mai multe liniar dependeni).
baze de date cu diverse estimri n aceast direcie. De exemplu, la 5. (Coduri de repetiie) Considerm urmtorul procedeu de codare:
http://www.codetables.de [7] exist astfel de tabele. Pentru q 2, pentru a coda cuvinte oarecare de lungime k (peste alfabetul binar
n 55, k 17, aceast baz de date furnizeaz 16 d 19. {0, 1} F) se repet fiecare bit de r ori; astfel, orice cuvnt x1xk
Aceasta nseamn c se poate construi un cod binar (q 2) liniar este codat ca x1x1x2x2xkxk (fiecare xi apare de r ori). Se
de tip [55, 17, 16], i c orice cod binar liniar tip [55, 17, d] are obine un cod de lungime kr.
d 19. Dar nu se tie n acest moment dac nu exist cumva a) Artai c acest cod este liniar, de dimensiune k.
coduri binare liniare [55, 17, 17], [55, 17, 18] sau [55, 17, 19]. b) Artai c distana sa minim este r.
c) Folosim codul de repetiie de tip [3,1]. Dac se primete
mesajul 000101111100, unde au aprut erori? Corectai-le.
d) Care este rata de transmisie a codului de repetiie tip [kr, k]?
49 50

6. Scriei toate cuvintele codului Hamming H2, 2. Care este rata sa d q 1


d) (Inegalitatea Plotkin) Demonstrai c, dac , atunci
de transmisie? n q
d
7. Scriei parametrii i matrice de paritate pentru codurile C .
q 1
Hamming H2, r, cu r 4. d n
q
8. Scriei toate cuvintele codului binar Hamming tip [7, 4, 3]. Care
12. Artai c un cod liniar C peste Fq care are aceiai parametri ca
este rata sa de transmisie?
un cod Hamming trebuie s fie un cod Hamming. (Ind. Deoarece
9. (Algoritm de decodare pentru coduri binare Hamming) Folosim
d(C) 3, o matrice de paritate a lui C trebuie s aib orice dou
notaiile din Exemplul 28. Fie e e1 e7 vectorul eroare i fie h1,
coloane liniar independente.)
, h7 coloanele lui H. t
13. Fie q p , cu p un numr prim. Demonstrai c un cod q-ar
a) Demonstrai c
T T perfect are cardinalul o putere a lui p.
H(r1, , r7) H(e1, , e7) e1h1 e7h7
b) Dac are loc exact o eroare, atunci wt(e) 1. Fie ei 0 . 14. Demonstrai c un cod binar perfect cu distana minim 7 are
T
Atunci (c1, c2, c3) hi. lungimea n 7 sau n 23. (Ind. Se scrie inegalitatea lui Hamming
2 t
c) Folosind faptul c hi este numrul i scris n baza 2, corectai cu egalitate. Dup calcule, rezult (n 1)(n n 6) 2 6, cu
t 6 din inegalitatea Singleton. Rezult c n 1 2 3 , cu b 0
a b
eroarea.
d) Generalizai algoritmul pentru orice cod binar Hamming H2,r. sau 1. O analiz a celor dou cazuri arat c a 3 duce la
contradicii.)7
10. Calculai numrul de cuvinte i rata de transmisie ale codului
Hamming Hq, r (n general) i pentru q 2, r 5.
11. Fie C un cod liniar de tip [n, k, d] peste F, corp cu q elemente.
a) Artai c: ori toate cuvintele din C ncep cu 0, ori exact 1/q
n
din cuvinte ncep cu 0. (Ind. Fie D : {x1xn F | x1 0}, 7
Putei da exemplu de cod binar perfect de lungime 7? Exist i un cod binar
n
subspaiu liniar n F . Aplicai formula pentru dim(C D)). liniar perfect de lungime 23 i distan minim 7 (codul Golay binar).
Demonstrai c dimensiunea acestui cod este 12.
b) Demonstrai c suma ponderilor tuturor cuvintelor lui C este
k1
cel mult n(q 1)q .
n q 1q k 1
c) Demonstrai c d . (Ind. Distana minim este
qk 1
mai mic decit media ponderilor cuvintelor nenule.)
52

a)x, y, z R, (x y) z x (y z) (asociativitatea adunrii);


b) 0 R astfel nct, x R, x 0 0 x x (exist element
neutru 0 pentru adunare);
c) x R, x R astfel nct x (x) (x) x 0 (orice
element x are un opus x); d) x, y R, x y y x
(comutativitatea adunrii);
III. Corpuri finite 2) nmulirea este asociativ i distributiv fa de adunare, adic
x, y, z R, (xy)z x(yz) (asociativitatea nmulirii);
Corpurile finite au depit de mult stadiul de curiozitate x, y, z R, x(y z) xy xz (distributivitatea la stnga a
matematic. Corpurile finite snt eseniale n tehnologiile legate de nmulirii fa de adunare);
transmisia, stocarea, secretizarea i prelucrarea informaiei x, y, z R, (y z)x yx zx (distributivitatea la dreapta a
digitale. Codurile liniare corectoare de erori se bazeaz pe corpuri nmulirii fa de adunare).
finite. Unele din cele mai puternice scheme criptografice i de Toate inelele R pe care le considerm snt inele unitare: exist
autentificare moderne au la baz logaritmul discret ntr-un corp 1 R astfel nct x1 1x x, x R. Dac nmulirea este co-
finit. mutativ, (x, y R, xy yx) R se numete inel comutativ.
Clasificarea corpurilor finite este simpl: pentru orice numr q,
Un corp F este un inel unitar (cu 1 0) n care orice element
putere a unui prim, exist un unic (pn la izomorfism) corp finit * 1 *
nenul are un invers fa de nmulire: x F\{0} : F , x F
cu q elemente, notat Fq. Acestea snt toate corpurile finite (pn la 1 1
* astfel nct xx x x 1. Orice corp are mcar dou elemente: 0
izomorfism). n plus, grupul (Fq , ) este ciclic. Vom demonstra n
i 1. Un corp n care nmulirea este comutativ se numete corp
continuare aceste fapte. Reamintim cteva noiuni fundamenale de
comutativ (numit uneori cmp).
algebr.
n acest curs, corp nseamn corp comutativ.
Se numete inel un triplet (R, , ) format dintr-o mulime O submulime E a unui corp F este numit subcorp al lui F dac
nevid R i dou operaii interne pe R, este parte stabil la nmulire, adunare i la inversarea elementelor
: R R R, (x, y) x y, x, y R (numit adunare), nenule. Astfel, E este corp cu operaiile induse. Se demonstreaz
: R R R, (x, y) xy, x, y R (numit nmulire), uor c E este subcorp n F dac i numai dac x, y E, cu
1
care satisfac urmtoarele condiii: y 0, avem x y E i xy E.
1) (R, ) este grup comutativ (abelian), adic

51
53 54

Mulimea numerelor ntregi Z este un inel comutativ, dar nu Pe Zn se pot defini dou operaii (numite adunarea, respectiv
este corp (2 nu e inversabil n Z). Mulimea numerelor raionale Q nmulirea modulo n), n raport cu care Zn devine inel comutativ i
este corp i este subcorp al lui R. Aceste corpuri snt infinite. unitar. Pentru orice a[ , b[ Zn (cu a, b Z), definim:
Sntem interesai de corpuri finite. a[ b[ : a[
b; a[ b[ : a[
b
O funcie : E F, unde E i F snt inele, se numete morfism
Demonstrarea corectitudinii definiiilor de mai sus (adic
de inele dac pstreaz operaiile: (x y) (x) (y),
independena de alegerea reprezentanilor) i verificarea axiomelor
(xy) (x)(y), x, y E i (1) 1. Dac E i F snt corpuri,
de inel este propus cititorului.
spunem c este morfism de corpuri. Orice morfism de corpuri e
Vom aplica ideea construciei de mai sus ntr-o situaie mai
injectiv (demonstrai!).
general. n acest scop, observm c putem defini relaia de
Construcia corpurilor finite se bazeaz pe construcia congruen modulo n pe Z i n felul urmtor: Notm nZ : {nk |
important a inelului factor, care reia n context mai general k Z}. Avem atunci, a, b Z:
construcia inelului Zn al ntregilor modulo n. Schim ideile a b (mod n) a b nZ.
acestor construcii. Se vede imediat c a[ {a nk | k Z}, motiv pentru care a[ se
Fie n un numr ntreg fixat (numit modul). Spunem c numerele mai noteaz cu a nZ. Deci, 0[ nZ, 1[ 1 nZ etc.
ntregi a i b snt congruente modulo n dac n divide a b. Scriem Mulimea nZ este ideal n Z, n sensul c este parte stabil la
aceasta sub forma a b (mod n). Se demonstreaz imediat c adunare i, x Z, a nZ, rezult c xa nZ (nZ este parte
relaia (mod n) de congruen modulo n este o relaie de stabil la nmulirea cu orice element din Z).
echivalen pe Z. Pentru orice a Z, se noteaz cu a[ clasa lui a n Mai general, dac R este inel (presupus pentru simplitate
raport cu relaia de congruen modulo n. Avem deci a[ {b Z | comutativ i unitar), o submulime nevid I a sa se numete ideal
a b (mod n)}. Mulimea factor Z/ (mod n) (adic {a[ | a Z}) n R (fapt notat I R) dac satisface condiiile:
se noteaz cu Zn i se numete mulimea claselor de resturi - a, b I, rezult a b I;
modulo n. - a I, r R, rezult ra I.
Denumirea de clase de resturi este motivat de faptul c c dou Se observ imediat c orice ideal I al lui R este subgrup al
numere ntregi a i b snt congruente modulo n dac i numai dac grupului aditiv (R, ) (demonstrai!) i deci 0 I. Idealul I se
dau acelai rest la mprirea cu n. numete propriu dac I R.
Propoziia urmtoare arat c ideea de construcie a lui Zn
pornind de la Z i un ideal al su (de forma nZ) se generalizeaz
55 56

cuvnt cu cuvnt la cazul unui inel R i al unui ideal I al su. nucleul lui , Ker {r R | (r) 0} este un ideal al lui R i
Demonstraia const n verificarea direct a proprietilor enunate exist un izomorfism canonic
i o lsm cititorului (i poate fi gsit n orice carte introductiv R
Im
de algebr modern). Ker
r Ker (r), r R.
1 Propoziie. Fie R un inel comutativ unitar i I un ideal al su.
a) Relaia (de congruen modulo I), definit prin: Propoziia urmtoare d cele mai simple exemple de corpuri
a b (mod I) a b I finite, care snt blocurile de baz pentru orice corp finit.
este o relaie de echivalen pe I. Notnd cu a[ {b R | a b *
3 Teorem. Fie n N . Atunci inelul Zn este corp dac i
(mod I)} (numit clasa lui a modulo I), are loc a[ {a x |
numai dac n este prim.
x I} (a[ se mai noteaz a I din acest motiv).
Demonstraie. Presupunem c n e prim. E suficient s artm
b) Operaiile pe mulimea factor R/I : {a[ | a R}, date de:
c orice element nenul din Zn este inversabil. Fie a Z astfel nct
a[ b[ : a[ b i a[b[ [
ab, a, b R,
a[ 0[ n Zn. Aceasta nseamn c (a, n) 1. Un rezultat cunoscut
snt corect definite i nzestreaz pe R/I cu o structur de inel
afirm c n acest caz exist u, v Z astfel nct ua vn
comutativ unitar (numit inelul factor al lui R n raport cu I).
(a, n) 1. Trecnd la clase modulo n, obinem u[ a[ 1[, cci n[ 0[.
c) Aplicaia : R R/I, (r) [r r I, r R, este un
Reciproc, presupunem c Zn este corp i totui n nu este prim.
morfism surjectiv de inele (numit surjecia canonic a inelului
Atunci n ab, cu 1 a, b n, deci avem a[b[ n[ 0[ n corpul Zn,
factor R/I).
imposibil, cci a[ i b[ snt nenule. Contradicia arat c n trebuie s
n termeni mai puin riguroi, trecerea de la inelul R la inelul fie prim.
factor R/I duce toate elementele din I n zero sau anuleaz
elementele lui I. Cu notaiile de mai sus, inelul factor Z/nZ este 4 Definiie. Fie K, L corpuri. Dac : K L este un morfism
exact Zn. Multe afirmaii referitoare la idealul I n R se traduc prin de corpuri (cu necesitate injectiv), atunci tripletul (K, L, ) se
afirmaii referitoare la idealul 0 n R/I, idee aplicat adesea n numete o extindere a lui K. n acest caz, pentru orice element a
raionamente. K, obinuim s identificm a L cu a K. Astfel, dac a K
i x L, vom scrie ax n loc de (a)x etc. Prin aceast identi-
2 Teorem. (teorema fundamental de izomorfism pentru inele) ficare, K este subcorp al lui L i scriem, prin abuz, extinderea
Fie R, S inele comutative i : R S un morfism de inele. Atunci K L n loc de extinderea (K, L, ). n general, la o extindere
K L putem privi K drept subcorp n L.
57 58

Rezultatul urmtor conine o construcie de corpuri extrem de 6 Definiie. Fie K L o extindere i x L. Spunem c x este
important. Toate corpurile finite snt construite n acest mod. algebric peste K dac exist un polinom nenul f K[X] astfel nct
f (x) 0. Altfel spus, x este algebric peste K dac i numai dac
5 Propoziie. Fie K un corp i f K[X] un polinom ireductibil
morfismul de evaluare evx : K[X] L, evx( f ) f(x) f K[X], nu
de grad cel puin 2 (deci f nu are rdcini n K). Fie
este injectiv. De exemplu, n extinderea Q R, elementul 2 este
( f ) {gf | g K[X]} idealul generat de f. 2
algebric peste Q, cci este rdcin a lui X 2 Q[X].
a) Inelul factor L : K[X]/( f ) este un corp8 (extindere a lui K)
i f are o rdcin n L, anume X ( f ), clasa lui X mod f.
7 Teorem. Fie K L o extindere de corpuri i x L, algebric
b) Exist o extindere E a lui K astfel nct f are toate rdcinile peste K. Fie f un polinom cu coeficieni n K. Urmtoarele
n E (f se descompune n factori liniari n E[X]). afirmaii snt echivalente:
Demonstraie. a) Fie g[ 0[ un element nenul n L, unde
a) f (x) 0 i grad f min{grad g | g K[X], g(x) 0, g 0}.
g K[X]. Aceasta nseamn c f nu divide g; cum f este b) f (x) 0 i f este ireductibil.
ireductibil, avem ( f, g) 1. Atunci exist u, v K[X] astfel nct c) f (x) 0 i, oricare ar fi g K[X] cu g(x) 0, rezult c f |g.
1 uf vg . Trecnd la clase modulo f, 1[ [ uf vg vg
[. Deci g[ are
Demonstraie. a)b) Dac f ar fi reductibil, atunci f gh, cu g,
un invers, anume [v L. h K[X], 1 grad h, grad g grad f. Cum g(x)h(x) f (x) 0, x
Rdcina lui f n L este X [. ntr-adevr, fie f a0 a1X
n
este o rdcin a lui g sau h, ale cror grade snt mai mici dect
anX ; atunci:
grad f, contradicie cu definiia lui f.
f (X [ n f[
[) a01[ a1X[ anX (X) 0[ . b)c) Fie 0 g K[X] astfel nct g(x) 0. Cum f(x) 0,
b) Se folosete o inducie dup grad f. rezult c d(x) 0, unde d GCD(f, g), deci grad d 0. ns d |f i
Observai c se consider K drept subcorp n K[X]/( f ) via f este ireductibil, deci d f, i.e. f |g.
aplicaia canonic : K K[X]/( f ), (a) a[ (clasa lui a modulo c)a) Fie g K[X] cu g(x) 0, g 0. Din ipotez, f |g, deci
( f )), a K, care este un morfism de corpuri. grad f grad g.
Avem nevoie de unele definiii i rezultate fundamentale din
teoria extinderilor de corpuri. 8 Definiie. Fie K L o extindere de corpuri i fie x L alge-
bric peste K. Polinomul minimal al lui x peste K (notat Irr(x, K))
8
Rezultatul i demonstraia snt asemntoare cu faptul c Zn este corp dac
i numai dac n este prim. Aceasta nu e ntmpltor: Z i K[X] snt inele
principale .
59 60
1
este polinomul monic9 din K[X] care satisface una din condiiile K(x) { | K[x], 0}.
2
echivalente de mai sus. De exemplu, Irr( 2 , Q) X 2 deoarece De exemplu, subcorpul lui C generat de Q i 2 este
2
X 2 Q[X] este monic, ireductibil n Q[X] i are rdcin pe Q( 2 ) Q[ 2 ] {a b 2 | a, b Q} (demonstrai!). Se
2. observ c nu este nevoie s lum toate expresiile polinomiale (de
9 Definiie. Fie K L o extindere de corpuri. Atunci L are o orice grad) n 2 , cu coeficieni n Q, ca n caracterizarea
structur canonic de K-spaiu vectorial: nmulirea unui scalar precedent, ci doar cele de grad mai mic dect 2 (adic gradul
din K cu un vector din L este nmulirea din L. Dimensiunea lui lui Irr( 2 , Q)). De asemenea, are loc i Q( 2 ) Q[ 2 ]. Lucrul
L vzut ca spaiu vectorial peste K se numete gradul extinderii acesta nu este ntmpltor i este caracteristic elementelor
K L i se noteaz [L : K]. O extindere se numete extindere finit algebrice:
dac gradul su este finit.
10 Teorem (caracterizarea elementelor algebrice). Fie K L o
De exemplu, n extinderea R C, elementul i C este algebric extindere de corpuri i x L. Urmtoarele afirmaii snt
2
peste R, deoarece este rdcina polinomului X 1 R[X]. echivalente:
Gradul extinderii este [C : R] 2, deoarece {1, i} este o baz a a) x este algebric peste K.
R-spaiului liniar C. b) K[x] este corp.
Fie extinderea K L i x L. Snt de prim importan c) K[x] K(x).
urmtoarele noiuni: d) Extinderea K K(x) este finit.
- subinelul lui L generat 10 de K i {x}, notat K[x]. Are loc Dac x este algebric peste K i f Irr(x, K), grad f n, atunci
(demonstrai): K[X]/( f ) K(x).
n
K[x] {a0 a1 x an x | n N, ai K, 0 i n} Im evx, n particular, [K(x) : K] n i o baz a K-spaiului liniar K(x)
n1
unde evx : K L este morfismul de evaluare n x. este {1, x, , x }.
- subcorpul lui L generat de K i {x}, notat K(x). Are loc: Demonstraie. a)b) Fie f Irr(x,K) K[X] i evx : K[X] L
morfismul de evaluare n x. Avem Ker evx f. Din teorema de
izomorfism pentru inele, K[X]/( f ) Im evx K[x]. Cum f este ire-
9
Un polinom se numete monic (sau unitar) dac are coeficientul termenului
de grad maxim egal cu 1.
ductibil n K[X], K[X]/( f ) este corp. Atunci K[x], izomorf cu
10
Subinelul lui L generat de o submulime S a lui L este definit ca intersecia K[X]/( f ), este i el corp.
tuturor subinelelor lui L care includ S. Este cel mai mic subinel al lui L care
b)c) Evident.
include pe S. La fel se definete subcorpul generat de S.
61 62
1
c)a) Presupunem c x 0 i fie x a0 a1x char Zn n. Caracteristica unui corp F este 0 sau un numr prim
n 2
anx K[x] inversul lui x. nmulind cu x, obinem a0x a1x p. (demonstrai!).
n1
anx 1 0, adic x este rdcina unui polinom nenul cu
coeficieni n K. 12 Lem. (endomorfismul Frobenius) Fie R un inel comutativ
i
d)a) Familia infinit {x | i N} de elemente ale K-spaiului de caracteristic p 0, cu p prim. Atunci aplicaia : R R,
p
vectorial finit dimensional K(x) este liniar dependent. Deci, exist (x) x , x R, este un morfism de corpuri (numit
o relaie de dependen liniar de forma a01 a1x anx 0,
n endomorfismul lui Frobenius11 al lui R). Dac R este finit, atunci
n
cu n N i a0, a, , an K, nu toi nuli, adic x este algebric este bijectiv (este un automorfism al lui R). Notnd q p , atunci
n n q
peste K. (de n ori) este morfism, iar (x) x , x R.
a)d) Avem K-izomorfismul de corpuri K[X]/( f ) K(x). Demonstraie. Fie x, y R. Este clar c (xy) (x)(y).
Acesta este i un izomorfism de K-spaii vectoriale. Fie n grad f. Corpul R fiind comutativ, are loc formula binomului lui Newton:
(x y) (x y) C ip x p i y i x y ,
p p p
Demonstrm c n K-spaiul vectorial K[X]/( f ), clasele
n1 0 i p
elementelor , X, ..., X snt elementele unei baze. Dac a01[
n ultima egalitate avnd loc pentru c p divide coeficienii binomiali
a1X[ anX [ 0[, cu a0, a, , an 1 K, atunci g a0 a1X
n 1 C pi dac 1 i p (de ce?).
an 1X ( f ), adic f |g. Cum grad f n, rezult c g 0,
adic a0, a, , an 1 snt nule. Pe de alt parte, folosind teorema Morfismul de corpuri : R R este injectiv, deci bijectiv dac
mpririi cu rest, orice clas modulo f a unui polinom h K[X] are R este finit.
p p 2 n-
un reprezentant de grad mai mic dect n. Aceasta nseamn c h[ Avem ( )(x) (x ) ((x)) x p i, prin inducie,
n

este combinaie liniar cu coeficieni n K de 1[, X[ , , X [n1 . (x) x p , x R, n N.


Izomorfismul K[X]/( f ) K(x) duce X ( f ) n x, deci baza {1[ Endomorfismul Frobenius este aplicaia identitate n cazul
[ n 1 } este dus n baza {, x, ..., x n 1} n K[x].
, X[ , , X p
corpului Zp (mica teorem a lui Fermat afirm c x x, x Zp).

11 Definiie. Fie K un corp i x un element algebric peste K. Avem nevoie de un criteriu pentru a decide dac un polinom are
Gradul extinderii K K[x] (egal cu grad Irr(x, K)) se numete rdcini multiple, folosind noiunea de derivat formal a unui
gradul elementului x peste K. polinom.

Caracteristica char R a unui inel (R, , ) cu unitate e este


*
definit ca fiind 0 (dac ne 0, n N ) sau cel mai mic numr 11
Ferdinand Georg Frobenius 1849-1917 , matematician german.
natural n 0 astfel nct ne 0 n R. Deci, char Z char Q 0;
63 64

13 Definiie. Fie R un inel comutativ unitar i f a0 a1X Unicitatea scrierii este echivalent cu F-liniara independen a
n i
anX R[X]. Spunem c R este rdcin multipl de ordin mulimii de polinoame {(X ) | i N} n F[X], uor de demon-
m m1
m a lui f F[X] dac (X ) | f i (X ) - f. strat.
m
Numim derivat (formal) a polinomului f polinomul b) Din relaia dedus la punctul a), rezult c (X ) | f dac i
n 1
df : a1 2a2 X nan X . numai dac b0, b1,, bm1 snt nuli. Pe de alt parte, se
(1) (i)
Se mai folosete notaia df f ' sau df f . demonstreaz uor c f () i!bi, i {0, , n}. De aici rezult
(i)
Un calcul direct arat c derivata formal are proprietile c f () 0, i {0, , m 1}.
uzuale ale derivatei cunoscute din Analiz: c) Din cele demonstrate pn acum, obinem c f () b0 0 i
2
f () b1 0. Deci (X ) | f.
( f g)' f ' g', (af )' af ', ( fg)' f 'g fg', a R, f,
g R[X]. n cazul polinoamelor cu coeficieni ntr-un corp K, un element
Compunerea morfismului d cu el nsui de n ori (n N*) se dintr-o extindere E a lui K este rdcin multipl a polinomului f
n n n n1
noteaz d ; d : R[X] R[X]. Avem deci d dd , n N*, cu dac i numai dac este simultan rdcin a polinomului i a
0 n (n)
convenia c d id. Mai notm d f f , f R[X]. derivatei sale, adic (X )| f i (X )| f'. Aceasta implic faptul
c cmmdc al lui f i f' n E[X] este de grad 1. ns cmmdc a dou
14 Propoziie. Fie F un corp, f F[X] un polinom de grad polinoame se obine cu algoritmul lui Euclid i nu depinde de
n 0 i F. corpul considerat: dac K L este o extindere de corpuri, iar f,
a) Exist i snt unice elementele b0, , bn F astfel nct g K[X], atunci ( f, g)K[X] ( f, g)L[X]. n concluzie:
f bi X i .
0 i n 15 Propoziie. Fie K un corp i f K[X]. Atunci f are rdcini
b) Dac este rdcin multipl de ordin m (m N ) a *
multiple dac i numai dac f i f ' nu snt prime ntre ele.
(i)
polinomului f, atunci f () 0, pentru orice i {0, , m 1}.
Astfel, se poate decide dac un polinom are rdcini multiple
c) Dac f () f i f '() 0, atunci este rdcin multipl a
fr a cunoate rdcinile.
lui f (de multiplicitate cel puin 2).
Putem acum enuna i demonstra teorema de existen i
Demonstraie. a) Prin inducie dup grad f. Dac f a0 a1X,
unicitate pentru corpurile finite.
atunci f a0 a1 a1(X ). Dac grad f n 1, aplicnd
teorema mpririi cu rest, obinem f (X )g b0, cu b0 F i 16 Teorem. a) Fie F un corp finit cu q elemente. Atunci exist
g F[X], grad g n 1. Scriind pe g sub forma dat de ipoteza de * n
un numr prim p i n N astfel nct |F| p .
inducie i nlocuind n relaia precedent, se obine rezultatul.
65 66
* q
b) Pentru orice numr prim p i n N , exist un corp finit cu mulimea F : {x E | x x}. S demonstrm c F este subcorp
n
p elemente. al lui E (va fi corpul cu q elemente cutat). Fie x, y F. Atunci
q q q q q q n
Demonstraie. a) Fie e elementul unitate al lui F. Atunci (xy) x y xy, deci xy F. Avem i (x y) x y (q p ,
* q
mulimea multiplilor lui e, P : {ne | n N }, este o submulime a deci x x este o putere a endomorfismului Frobenius), deci
* 1 q q 1 1 1
lui F i este finit. Deci exist p N astfel nct pe 0. Alegem x y F. Dac x 0, atunci (x ) (x ) x , deci x F.
p s fie minim cu aceast proprietate (p char F ). Dac p nu ar fi Elementele lui F snt exact rdcinile polinomului f, iar acestea
prim, atunci p ab, cu 1 a, b p. Cum snt n numr de exact q. ntr-adevr, un polinom de grad q are cel
pe (ab)e (ae)(be) 0, mult q rdcini; pe de alt parte, f nu are rdcini multiple, dup
rezult c ae 0 sau be 0, contradicie cu minimalitatea lui p. cum se vede folosind criteriul cu derivata formal:
q1
Rmne c exist un unic p prim astfel nct pe 0. Deci f ' qX 1 1, deci ( f, f ') 1.
P {0, e, 2e, , (p 1)e}. Observm c exist o bijecie ntre P i Grupul multiplicativ al unui corp finit este ciclic, proprietate pe
Zp {0[, 1[, , p[ 1} (inelul claselor de resturi modulo p), dat de
care nu o demonstrm, dar care are multe aplicaii:
ie i[. Este chiar un izomorfism, dup cum se verific imediat.
Deci P este corp (fiind izomorf cu corpul Zp), iar F este o 17 Teorem. Fie F un corp finit cu q elemente. Atunci grupul
* * * i
extindere a sa. (F , ) este ciclic: exist F astfel nct F { |1 i q 1}.
Interpretm F ca un spaiu liniar peste P. Atunci dimensiunea Un astfel de element se numete element primitiv al lui F.
n
lui F peste P este finit, fie dim PF n. Deci F P (izomorfism
n
de spaii liniare), adic |F| p . 18 Teorem. Orice dou corpuri finite care au acelai cardinal
b) Presupunem problema rezolvat: dac F este corp finit cu snt izomorfe.
n
n *
q : p elemente, grupul (F , ) are q 1 elemente. Aplicnd Demonstraie. Fie F, E corpuri finite cu q p elemente (cu p
q
teorema lui Lagrange privind ordinul unui element ntr-un grup prim) i F un element primitiv. Atunci f X X Zp[X] are
finit, obinem c x
q 1 q
1, deci x x, x F. Pe de alt parte, rdcina n F. Pe de alt parte, f este produs de polinoame
din punctul a), F conine un subcorp izomorf cu Zp. Deci F este o ireductibile n Zp[X]; deci exist un (unic) factor ireductibil g al lui
q
extindere a lui Zp, iar X X Zp[X] se descompune n factori f astfel nct g() 0. Atunci grad g [Zp() : Zp] [F : Zp] n.
q
liniari n F[X] (toate elementele din F snt rdcini ale lui X X). Fie o rdcin a lui g n E (g are toate rdcinile n E), atunci
Argumentm acum astfel existena unui corp cu q p
n [Zp[] : Zp] grad g n [E : Zp], deci Zp[] E. Avem acum
q
elemente: fie corpul Zp i f X X Zp[X]. Exist o extindere E izomorfismele: F Zp[] Zp[X]/(g) Zp[] E.
a lui Zp nct f se descompune n factori liniari n E[X]. Considerm
67 68
n
Corpul finit cu p elemente (unic pn la izomorfism) se unde h (g) noteaz clasa lui h modulo g. Din teorema mpririi
n
noteaz cu GF(p ) (Galois Field corp Galois)12 sau Fpn . cu rest, h F2[X] se scrie ca h gq r, unde q, r F2[X] i
n
Din existena unui corp finit F cu p elemente rezult c exist grad r 2 grad g. Trecnd la clase modulo g:
polinoame ireductibile de grad n cu coeficieni n Zp: de exemplu, h (g) gq r (g) r (g),
polinomul minimal peste Zp al unui element primitiv al lui F. deoarece clasa lui g este 0. Un polinom oarecare de grad 2 e de
n
Construcia concret a corpului cu p elemente este dat de: forma r a bX, a, b F2. Identificm a F2 with a (g) F4
i notm X (g) cu . Obinem c elementele lui F4 snt de forma
19 Propoziie. Pentru orice n N*, exist mcar un polinom a bX (g) a b, cu a, b F2
ireductibil de grad n n Fp[X]; pentru orice astfel de polinom f, Cum X X 1 (g) 0 (g), rezult c satisface
2

n
Fp[X]/( f ) este un corp cu p elemente. 1 0, adic 2 1. Rezumnd:
2

2
n F4 { a b | a, b F2} {0, 1, , 1 }, unde 1.
Problema construciei efective a unui corp cu p elemente se 2
De exemplu, (1 ) 1 1
reduce la cutarea unui polinom ireductibil g de grad n n Zp[X].
(1 ) 1
Corpul cutat va fi inelul factor Zp[X]/(g). 2
Am folosit c 1 i 0. Un element primitiv din
20 Exemplu: Corpul cu 4 elemente. Fie Z2 F2 {0, 1} F4 este (de ce?).
corpul cu dou elemente (omitem cciula pentru a nota clasele ncheiem acest capitol cu un rezultat important, care leag
modulo 2. Deci, 1 1 0). Cutm un polinom ireductibil de grad distribuia ponderilor unui cod liniar de distribuia ponderilor
2 in Z2[X]. Polinomul dualului su.
g X2 X 1
21 Definiie. Fie C un cod liniar de lungime n peste F.
nu are rdcini n Z2 (g(0) 1, g(1) 1) i are grad 2, deci este
Polinomul omogen de grad n
ireductibil. Aadar corpul cu 4 elemente este:
AC(X,Y) cC
X wt ( c )Y n wt ( c )
2 X
F4 h ( g )| h 2 X , se numete polinomul enumerator al ponderilor lui C (weight
g enumerator polynomial). Dac Ai este numrul cuvintelor de
pondere i din C, atunci

n
AC(X,Y) i 0
Ai X iY n i .
12
Structura corpurilor finite a fost determinat de Galois n 1830.
69 70

Observm c, pentru orice dou polinoame omogene g, h n X, q 1, x 0


x
1, x 0
F *
Y, avem g(X, Y) h(X, Y) g(X, 1) h(X, 1).
adic
22 Teorem (Identitile MacWilliams). Fie C un cod liniar
1 q 1 Z , x 0
de tip [n, k] peste corpul cu q elemente F. Atunci: F
x Z wt ( )
1 Z, x0
1
AC X , Y k AC Y X , Y q 1 X Deci:
q
Demonstraie. Fixm un caracter aditiv netrivial al lui F
n
B ( x) y1F
1

x1 y1 Z wt ( y ) yn F
xn yn Z wt ( y n)

(vezi exerciiul 10). Definim, x F , polinomul (din C[Z]):
1 q 1 Z
n wt(x )
1 Z
wt(x )

B ( x) : yF n x, y Z wt ( y )
Aadar,
Avem: B ( x) yF n Z wt ( y ) xC x, y . B( x) xC 1 q 1 Z

n wt(x )
1 Z
wt(x )
xC
xC

x, y |C|. Dac

Dac y C , atunci x, y 0, deci xC AC (1 Z ,1 (q 1) Z )
k 1
y C , atunci x, y ia fiecare valoare din F de q ori cnd x Comparnd cu (1), obinem
parcurge C (vezi exerciiul II.2), deci: AC (1 Z ,1 (q 1) Z ) C AC ( Z ,1)
xC x, y q k 1 F 0 Fcnd substituia Z X/Y se obine rezultatul din enun.
n concluzie,
xC
B( x) | C | yC Z wt ( y ) C AC ( Z ,1) . (1)
Pe de alt parte, putem scrie B(x) sub alt form. Fie
n
x (x1, , xn) C, y (y1, , yn) F i F; definim
wt() 0 dac 0, respectiv wt() 1 dac 0. Exerciii
Atunci wt(y1, , yn) wt(y1) wt(yn). Avem:
B ( x) ( y ,, y )F n x1 y1 xn yn Z wt ( y1 ) Z wt ( yn )
1 n 1. (Caracteristica unui inel) Fie K un inel i e elementul su
( y ,, y n x1 y1 Z wt ( y1 )
xn yn Z wt ( yn ) *
unitate. Dac exist k N astfel nct ke 0, atunci definim
1 n )F


*
x1 y1 Z wt ( y )
1
xn yn Z wt ( y n) char K min{k N | ke 0}. n caz contrar, punem char K 0.
y1F yn F
a) Demonstrai c, dac K este integru, atunci char K 0 sau un
ns F
x Z wt ( ) 1 Z F x , iar *
numr prim.
71 72

b) Dac K este corp de caracteristic p 0, atunci K are un unic 8. (Numrul polinoamelor ireductibile de grad m cu coeficieni
subcorp izomorf cu Zp. ntr-un corp finit) Fie F L o extindere de grad m de corpuri
*
c) Dac K este corp de caracteristic 0, atunci K are un unic finite, unde F are q elemente. Pentru orice d N , notm
subcorp izomorf cu Q. Pq, d {f F[X] | grad f d, f ireductibil i unitar}.
2. Determinai toate polinoamele ireductibile de grad cel mult 5 a) Demonstrai c
X q X L X d m f P
m
din F2[X]. f.
q ,d

3. Demonstrai c polinomul g X 6 X 1 este ireductibil n b) Notm cu Rf { L | f() 0}, f F[X]. Artai c


F2[X] i construii corpul F2[X]/(g). {Rf | f Pq, d, d|m} L (reuniune disjunct).
n
c) Demonstrai c q d|m |Pq, d|d.
m
4. Dac F este un corp cu p elemente, iar K este un subcorp al
m
su, atunci exist m|n astfel nct |K| p . Reciproc, pentru orice d) Calculai P2, m i P3, m, 1 m 6.
m
divizor m al lui n exist un unic subcorp al lui F cu p :r n
9. Fie F un corp cu p elemente, p prim. Demonstrai c grupul
r
elemente, anume K {x F| x x}. (Observaie. Cu un abuz de n
aditiv (F, ) este izomorf cu (Zp) .
m n
notaie13, acest fapt se poate scrie: GF(q ) GF(q ) m|n.)
10. Fie (G, ) un grup abelian finit. Un caracter al lui G este o
5. Fie f un corp finit cu q elemente i f F[X], ireductibil. *
funcie : G C cu proprietatea c (x y) (x)(y), x,
n
Demonstrai c f | X q X dac i numai dac grad f |n. (Ind. *
y F (adic un morfism de la grupul (F, ) la grupul (C , )). Un
n n
f | X q X orice rdcin a lui f este rdcin a lui X q X ). caracter este trivial dac (x) 1, x G.
*
6. Fie F un corp finit i m N . Demonstrai c exist un polinom *
a) Artai c, dac F este un corp finit i : (F, ) (C , ) este
m
ireductibil de grad m n F[X]. (Ind. Exist un corp E cu q caracter aditiv netrivial al lui F, atunci:
elemente, care este o extindere a lui F. Considerai polinomul
xF
( x) 0 .
minimal al unui element primitiv al lui E.)
(Ind. Fie F cu () 1. Avem:
7. Construii corpuri finite cu 4, 8, 16, 25, 9 i 27 elemente. Pentru
fiecare din ele gsii cte un element primitiv.
xF ( x) xF ( x ) ( ) xF ( x) ,
deci 1 ( ) xF ( x) 0 . )
b) Fie n N . Demonstrai c : (Zn, ) C , (k) e 2ik n ,
* *

13
Relaia este corect dac se presupune fixat o nchidere algebric a lui k Z, este corect definit i este un caracter netrivial. Gsii un
m
GF(q), iar toate extinderile algebrice ale lui GF(q) (i.e., corpurile GF(q )) snt caracter netrivial al unui produs de dou grupuri de tip (Zn, ).
presupuse incluse n
c) Demonstrai c orice corp finit F are un caracter netrivial.
73

11. Scriei polinoamele enumeratoare de ponderi pentru codul


de repetiie [n, 1, n] i pentru codul de paritate [n, n 1, 2] peste
corpul Fq.
n
12. Fie x x1 xn F2 un cuvnt de pondere d. Cte cuvinte
de pondere i ortogonale pe x exist? (Ind. Folosii identitile
MacWilliams.)
IV. Coduri liniare: codare i decodare

Un cod este inutilizabil fr algoritmi eficieni de codare i


decodare. Descriem cteva principii generale de codare i decodare
pentru coduri liniare. Fixm un corp finit F cu q elemente i
presupunem c toate spaiile liniare snt peste F.
Dac un cod C tip [n, k] peste F are o matrice generatoare G,
liniile sale g1,, gk formeaz o baz n C. Codul C poate coda
cuvinte mesaj de lungime k n cuvinte cod de lungime n astfel: un
k
mesaj de forma m1 mk F este codat ca m1g1 mkgk. n
n
form matricial, m m1 mk este codat ca mG F . Desigur,
forma matricei generatoare ar trebui aleas astfel nct procedura
de codare s fie ct mai economic. O astfel de form este forma
standard, care duce la o codare sistematic.

1 Definiie. O matrice generatoare G a unui cod liniar C tip


[n, k] peste F este n form standard 14 dac G (Ik | A), unde Ik

14
Uneori o matrice este declarat n form standard dac G este de
forma (A | Ik ).

74
75 76

este matricea identitate k k i A este o matrice k (n k) peste 3 Propoziie. Fie G o matrice generatoare a lui C, H o matrice
F: de paritate a lui C i S {1, 2, , n}, |S| k. Urmtoarele
1 0 0 a11 a12 a1n k afirmaii snt echivalente:
0 1 0 a21 a22 a2 n k a) S este o mulime de informaie.
G b) Coloanele lui G corespunztoare coordonatelor din S snt

liniar independente.
0 0 1 ak 1 ak 2 ak ,n k
c) Coloanele lui H corespunztoare coordonatelor care nu snt
Dac G este n form standard, ca mai sus, cuvntul mesaj n S snt liniar independente.
m1 mk este codat sub forma mG m1 mkc1 cn k, adic la Demonstraie. Fie g1, , gk liniile lui G i H1, , Hn coloanele
cuvntul mesaj m1 mk snt ataate simbolurile de control lui H. Coloanele lui G corespunztoare coordonatelor din S
c1 cn k pentru a forma cuvntul cod. Desigur, formeaz o matrice R tip k k.
ci m1a1i mkaki, 1 i n k. a)b) Fie r1,, rk liniile lui R. O relaie de dependen
n acest caz, {1, 2, , k} este mulimea de coordonate care liniar 1r1 krk 0 corespunde unui cuvnt cod nenul
poart simbolurile de informaie. Orice cuvnt cod e perfect x 1g1 kgk cu S(x) 0, contradicie. Astfel, rang R k i
determinat de primele sale k coordonate. Aceasta nseamn c coloanele lui R snt independente.
proiecia pe primele k coordonate b)a) Avem rang R k, deci liniile lui R snt independente.
k
: C F , (x1 xn) (x1 xk) Un cuvnt cod nenul x 1g1 kgk cu S(x) 0 conduce la o
este o bijecie liniar (un izomorfism). Mai general: relaie de dependen liniar 1r1 krk 0, contradicie.
a)c) Pentru simplitate, presupunem c S {1, 2, , k}.
2 Definiie. Fie C un cod liniar [n, k, d]. O mulime Dac, prin absurd, coloanele Hk 1, , Hn nu ar fi liniar
S {1, 2, , n} de coordonate se numete mulime de informaie independente, exist k 1, , n F, nu toi zero, astfel nct
(information set) dac proiecia pe coordonatele din S, k 1Hk 1 nHn 0. Atunci 00k 1n C (cci
|S|
S : C F , S(x1 xn) (xi)i S este un izomorfism. Aadar, x1 xn C dac i numai dac x1H1 xnHn 0), contradicie.
|S|
orice mulime de informaie are k elemente (deoarece C i F snt Restul implicaiilor snt propuse ca exerciiu.
izomorfe, au aceeai dimensiune k).
Observm c: S este o mulime de informaie |S| k i 4 Propoziie. Fie C un cod tip [n, k, d] i fie S {1, 2, , n}.
|S|
x C, S(x) 0 F implic x 0 (singurul cuvnt cod care e 0 a) Dac |S| n d 1, atunci S include o mulime de
pe S este cuvntul 0). informaie.
77 78

b) C este cod MDS orice mulime de k coordonate este matricea este in forma ealon redus pe linii (reduced row echelon
mulime de informaie. form, RREF).
Demonstraie. a) Fie G o matrice generatoare a lui C i fie GS Spre exemplu, fie matricele:
matricea format din coloanele lui G care corespund coordonatelor
1 2 0 2 1 2 0 0
A 0 0 1 0 ; B 0 0 1 0
din S. Presupunem c S nu include o mulime de informaie.
Aceasta nseamn c orice k coloane din GS snt liniar dependente,
0 0 0 1 0 0 0 1
deci rang GS k. Deci liniile lui GS snt dependente, i aceasta
produce un cuvnt cod nenul x care este zero pe S (cf. demonstraia A este n REF, B este n RREF. Mai mult, B i A snt
precedent). Dar atunci wt(x) n |S| d 1, contradicie. echivalente (B se obine din A prin nlocuirea liniei 1 cu linia
b) Avem : C este MDS d n k 1. Deci, dac S are k 1 ( 2)linia 3). Observm c o matrice k n de rang k n RREF
elemente, k n d 1 i aplicm a). conine coloanele matricei identitate Ik.
*
Presupunem c d n k 1. Fie 0 x C cu Dac A M(k, n, F) i 1 i, j k , i j, a F , definim
wt(x) d n k 1. Atunci S {i | xi 0} are n d k 1 transformrile elementare de tip I, II, III asupra liniilor lui A:
elemente i S nu este mulime de informaie, contradicie. Tip I: se adun la linia i linia j nmulit cu a.
Tip II: se permut linia i cu linia j.
Nu orice cod liniar are o matrice generatoare n form standard, Tip III: se nmulete linia i cu a.
dar este echivalent cu un cod care are una. n ceea ce urmeaz
schim o demonstraie a acestui fapt. 6 Exerciiu. Demonstrai c orice transformare elementar
asupra liniilor lui A produce o matrice A' cu proprietatea c
5 Definiie. Spunem c o matrice peste F este n form ealon subspaiul generat de liniile lui A' este egal cu subspaiul generat
pe linii (REF, row echelon form) dac: de liniile lui A.
- toate liniile nenule (i.e. cu cel puin un element nenul) snt
deasupra oricrei linii formate doar din zerouri; Un rezultat cunoscut de Algebr liniar afirm c, pentru orice
- primul (de la stnga) coeficient nenul (numit pivot) al unei linii matrice A M(k, n, F), exist un ir finit de transformri
nenule este ntotdeauna strict mai la dreapta pivotului de pe linia elementare asupra liniilor lui A, care transform matricea A ntr-o
de deasupra. matrice A n RREF i care are subspaiul generat de linii egal cu
Dac n plus fiecare pivot este 1 i este unicul element nenul de cel generat de liniile lui A. Mai mult, matricea A cu aceste
pe coloana sa (adic elementele de deasupra lui snt 0), spunem c proprieti este unic (i se numete forma ealon redus pe linii a
lui A).
79 80

Rezultatul de mai sus ne asigur c, plecnd de la o matrice Pentru a descrie algoritmi de decodare pentru coduri liniare
generatoare oarecare G a unui cod liniar C, obinem (prin avem nevoie de noiunea de coset al unui subspaiu liniar.
transformri elementare pe liniile lui A) o matrice generatoare G1 a Construcia e similar cu cea de la inelul factor.
lui C, care este n RREF; G1 conine coloanele matricei identitate,
dar nu neaprat pe primele k locuri, nct G1 s fie n form 9 Definiie. Fie U un subspaiu al spaiului liniar V. Relaia pe
standard (vezi de exemplu matricea B de mai sus). O permutare V, definit de:
adecvat a coloanelor furnizeaz o matrice G' (n form standard). x y(mod U) x y U
Matricea G' este matrice generatoare a unui cod C', care este este o relaie de echivalen (relaia de congruen modulo U).
echivalent pn la o permutare cu C. Rezumnd: Clasa de echivalen a elementului v V se numete cosetul lui U
determinat de v. Se vede uor c acest coset este:
7 Propoziie. Orice cod liniar este echivalent pn la o v U {v u | u U}.
permutare cu un cod care are o matrice generatoare n form Astfel, cosetul lui U determinat de v se obine adunnd v la
standard. fiecare vector al lui U, i are acelai numr de elemente ca U.
Mulimea tuturor coseturilor lui U se numete spaiul liniar factor
O matrice generatoare n form standard furnizeaz imediat o V/U; acesta e spaiu liniar dac definim operaiile astfel: pentru
matrice de paritate: orice v, w V, F:
v U (w U) v w U
8 Propoziie. Fie C un cod liniar [n, k, d] astfel nct G (Ik | A)
(v U) v U.
este o matrice generatoare a lui C n form standard. Atunci
T Verificarea axiomelor este imediat. Au loc urmtoarele
H : ( A | In k) este o matrice de paritate a lui C (adic o
rezultate clasice de algebr liniar, uor de demonstrat:
matrice generatoare pentru C ).
Demonstraie. Un calcul direct arat c orice linie a lui H este 10 Teorem. Fie F un corp cu q elemente i U FV. Atunci
ortogonal pe orice linie a lui G. Deci subspaiul generat de liniile orice baz a lui U poate fi completat pn la o baz a lui V. Dac

lui H este inclus n C . Deoarece rang H n k (H conine In k ca {u1, , uk} este o baz a lui U i {u1, , uk, uk 1, ..., un} este o
submatrice), rezult c subspaiul generat de liniile lui H are baz a lui V, atunci {uk 1 U, ..., un U} este o baz a lui V/U.

dimensiune n k. Cum dim C n k, H este matrice generatoare n particular, dim(V/U) dim(V) dim(U) numrul de coseturi

pentru C . distincte ale lui U. Aadar, exist q
nk
coseturi ale lui U i fiecare
k
coset are q elemente.
81 82

11 Teorem. Fie U i V dou F-spaii liniare finit dimensionale primul loc. Dac j 1 linii au fost deja scrise, dintre cuvintele care
i fie : U V o aplicaie liniar. Atunci: nu snt deja scrise se alege un cuvnt de pondere minim ej; acesta
a) Nucleul lui ,Ker :{u U | (u) 0 este subspaiu e declarat lider al cosetului, i este scris ca primul element al liniei
liniar al lui U. j. Pe locul i al liniei j scriem ej adunat cu elementul de pe locul i
b) (Teorema fundamental de izomorfism) Exist un izomorfism din prima linie. Astfel am obinut linia j, care este cosetul ej C.
n
canonic: Continum procedura pna epuizm toate cuvintele din F . Se
nk
U obine un tablou cu q linii (fiecare linie este coset al lui C i are
Im , u Ker (u), u U.
Ker k
q elemente).
c) dim(U) dim(Im) dim(Ker). La recepia lui x, se caut cosetul care conine x, i fie liderul
Ne ntoarcem la problema decodrii. Fie w cuvntul cod original acestui coset. Se decodeaz x n x (adic exact cuvntul din
transmis i fie x cuvntul recepionat. Atunci x w , unde este prima linie care e deasupra lui x).
n
cuvntul eroare ( este un cuvnt din F ). Deci x i snt n acelai
12 Observaie. Fie C un cod [n, k, d], cu capacitate de
coset al lui C, anume x C. Pentru a gsi w, e suficient s gsim .
corectare e. Atunci:
Algoritmul de distan minim, pentru x dat, caut acel w C care
a) Orice lider de coset de pondere e este unic. Deci, dac nu
este cel mai aproape de x. Deoarece x w, aceasta nseamn c
au loc mai mult de e erori (i.e. vectorul de eroare are pondere e),
este cuvntul de pondere minim n cosetul x C.
algoritmul de mai sus decodeaz corect cuvntul receptat.
Sntem condui la definiia urmtoare. Pentru orice coset D al
b) Dac d este par (d 2e 2), atunci exist un coset care are
lui V, un vector din D se numete un lider al cosetului D dac
doi lideri distinci de pondere e 1
ponderea sa este cea mai mic printre ponderile cuvintelor din D:
Demonstraie. a) Presupunem c u i v au ponderi e i snt n
wt() min{wt(x) | x D}. Un coset poate avea mai muli lideri
acelai coset. Atunci wt(u v) wt(u) wt(v) 2e d i
(de aceeai pondere, desigur).
u v C. Aceasta implic u v 0, cci distana minim a lui C
Astfel, receptorul caut liderul al cosetului ce conine x i
este d.
decodeaz x n x . Putem enuna urmtorul algoritm:
b) Lsm demonstraia cititorului. Deci, exist un cuvnt cod c
Pentru un cod dat C, se calculeaz (naintea oricrei transmisii) i un vector eroare de pondere e 1 astfel nct c aparine
coseturile lui C cu liderii respectivi i se aranjeaz ntr-un tablou unui coset cu cel puin doi lideri (adic c nu poate fi unic
(numit tablou Slepian, sau tablou standard). n practic, prima decodat). Acest fapt e normal, cci e 1 erori este mai mult dect
linie a tabloului const n cuvintele lui C, cu cuvntul nul 0 pe capacitatea de corectare a lui C.
83 84

Decodarea cu sindroame. Algoritmul de decodare prezentat Exerciii


n
cere stocarea n memorie a tuturor cuvintelor din F , ceea ce poate
fi costisitor sau chiar imposibil pentru n mare. O variant a 1. Demonstrai c un cod binar MDS de lungime n este unul din
algoritmului de mai sus folosete urmtorul concept: urmtoarele: codul de repetiie tip [n, 1, n], codul de paritate tip
n
[n, n 1, 2], sau tot F2 , de tip [n, n, 1]. (Ind: considerai o matrice
13 Definiie. Fie C un cod liniar tip [n, k, d] peste F, H o
n generatoare i folosii Prop. 4)
matrice de paritate pentru C i x F . Vectorul
T
sH(x) Hx F
nk 2. Fie C un cod liniar tip [n, k] i G o matrice generatoare.
se numete sindromul lui x (relativ la H). Demonstrai c distana minim d a lui C este:
n nk T
Observm c sH : F F , sH(x) Hx , x F , este o
n d max{ N | orice submatrice k(n 1) a lui G are rang k}
funcie liniar. 3. Demonstrai c dualul unui cod liniar MDS este tot MDS. (Ind.:
n n folosii Prop. 4)
Avem, x F , x C sH(x) 0. Deci, u, v F :
u v C sH(u) sH(v). Adic: 4. Exist un cod binar tip [4, 2, 3]? (Ind: ncercai s construii o
matrice de paritate.)
Dou cuvinte snt n acelai coset al lui C dac i numai dac
5. Fie C codul liniar binar cu matrice de paritate
au acelai sindrom.
1 1 0 1 0 0
Astfel, putem enuna urmtorul algoritm (de decodare cu H 1 0 1 0 1 0
sindroame): 0 1 1 0 0 1

naintea oricrei transmisii se alctuiete o list care conine
a) Gsii o matrice generatoare a lui C i scriei toate cuvintele
sindroamele tuturor coseturilor lui C pe o coloan i liderii
cod din C.
coseturilor respective pe urmtoarea coloan.
b) Scriei coseturile lui C i liderii acestor coseturi.
La recepia unui cuvnt x, se calculeaz sH(x). Dac sH(x) 0,
c) Folosind decodarea cu sindroame, decodai: 110110;
atunci x C, adic nu au avut loc erori.
011011; 101010.
Dac sH(x) 0, receptorul caut liderul e care are acelai
sindrom cu x (sH(e) sH(x)). Apoi x este decodat n x e C. 6. a) Artai c orice cuvnt cod al unui cod binar autodual are
pondere par.
b) Artai c orice cuvnt cod al unui cod ternar autodual are
pondere multiplu de 3.
85

c) Construii un cod autodual peste F5 astfel nct mcar unul


din cuvintele cod nu are pondere multiplu de 5.
1 0 1 0
7. a) Demonstrai c este o matrice de paritate
0 1 0 1
pentru un cod binar autodual de lungime 4.
b) Scriei o matrice de paritate pentru un cod binar autodual de
lungime 10. Generalizare. V. Construcii de coduri noi din coduri
n n
8. Fie x (x1, , xn), y (y1, , yn) Z2 i C Z2 . Artai c: existente
a) wt(x) x, x (mod 2).
n
b) wt(x y) wt(x) wt(y) 2wt(xy), unde xy Z2 are 1
Descriem cteva construcii care produc noi coduri pornind de la
exact n locurile n care x i y au simultan 1.
coduri cunoscute. Construciile ce urmeaz arat c exist coduri
c) Fie G o matrice generatoare. Demonstrai c dac C este
liniare cu parametri ce se afla n anumite relaii cu cei ai unui cod
autodual i fiecare linie a lui G are pondere multiplu de 4, atunci
dat C. Adesea aceste coduri snt mai rele dect C, dar au interes
orice cuvnt al lui G are pondere multiplu de 4.
teoretic. Detaliile de demonstraie care lipsesc snt lsate
d) Dac orice cuvnt al lui C are pondere multiplu de 4, atunci
cititorului.
G este autodual. (Ind. x (x1, , xn), y (y1, , yn) C, avem
(mod4): 2 i 1 xi yi 2wt(xy) wt(x y) wt(x) wt(y) 0.)
n
Fixm un corp finit F i un cod liniar C de tip [n, k, d] peste F.
9. Fie C cod binar autodual tip [n, k, d].
I. Lungire (Lengthening). Fie
a) Demonstrai c (1, 1, . . . , 1) C.
C' {(x1, , xn, 0) | (x1, , xn) C}.
b) Demonstrai c n 2k.
Atunci C' este un cod liniar tip [n 1, k, d] (se spune c e
c) Demonstrai c: fie toate cuvintele lui C au pondere multiplu
obinut prin lungirea lui C). Prin inducie, se vede c:
de 4, fie exact jumtate din cuvintele lui C au pondere multiplu de
Pentru orice r N, exist un cod liniar tip [n r, k, d].
4.
d) Fie n 6. Demonstrai c d 2. II. Gurire (Puncturing). Fixm o coordonat i {1, ..., n}.
tergem coordonata i din toate cuvintele cod ale lui C, i obinem
n1
un cod C' F .

86
87 88

Pentru simplitate, presupunem c i 1. Fie : C C', IV. Exist un cod tip [n, k, d 1].
(x1xn) x2xn. E clar c este aplicaie liniar surjectiv. Din Pentru demonstraie, lungim C i formm un cod [n 1, k, d];
teorema fundamental de izomorfism (IV.11), C/Ker C'. Avem apoi aplicm o gurire adecvat i obinem un cod [n, k, d 1].
dou cazuri: Prin inducie, pentru orice r d, exist un cod tip [n, k, d r].
- Ker 0 (adic C izomorf cu C'). Atunci C' este cod tip
[n 1, k]. Avem d(C') d 1 dac exist un cuvnt n C de V. Exist un cod tip [n 1, k 1, d].
n n1
pondere minim d care e nenul pe coordonata i. Altfel, d(C') d. Dac k n, atunci C F , deci d 1. Atunci F este de tip
- Ker 0. Atunci: [n 1, k 1, d]. Presupunem c k n. Permutm coordonatele lui
Ker {x1xn C | x2xn 0} {00 C | F}. C pentru a obine un cod liniar care are o matrice de paritate de
Deci Ker 0 implic d 1; dim Ker 1, deci dim C' k 1. forma H (In k | A). tergnd ultima coloan a lui H obinem o
Dac d 1, alegem o coordonat i astfel nct exist un cuvnt matrice H'. Rangul lui H' este n k, cci are primele n k coloane
n C de pondere d care e nenul pe coordonata i. Codul scurtat pe i liniar independente. Deci H' este matrice de paritate pentru un cod
are parametrii [n 1, k, d 1]. n concluzie: C' de lungime n 1 i dimensiune n 1 (n k) k 1. Cum
Dac d 1, atunci exist un cod [n 1, k, d 1]. Prin inducie, orice d 1 coloane ale lui H snt independente, acelai lucru se
pentru orice r d, exist un cod [n r, k, d r]. ntmpl pentru H', deci d(C') d' d. Dac d' d, aplicm IV i
Mai general, dac S {1, ..., n} este o mulime de coordonate, obinem un cod tip [n 1, k 1, d]. Prin inducie, pentru orice
prin tergerea acestor coordonate din cuvintele lui C, se obine un r k, exist un cod tip [n r, k r, d].
S
cod C (codul C gurit pe S). Are parametrii [n |S|, k', d'], unde
VI. Extinderea unui cod.
k' k |S|, d' d |S|. n1
C : {(x1, , xn, p) F | (x1, , xn) C, x1 xn p 0}
III. Subcod. Exist un cod tip [n, k 1, d]. se numete codul extins al lui C. Astfel, fiecrui cuvnt cod i se
Intr-adevr, fie x C de pondere d; formm o baz a lui C cu adaug un simbol de paritate p (n cazul unui cod binar, este

primul vector x. Codul generat de primii k 1 vectori ai acestei numit bit de paritate). Atunci C este un cod liniar [n 1, k].
baze are dimensiune k 1 i distan minim d. Prin inducie Distana sa este d sau d 1 (Exerciiu: discutai cazul binar!).
obinem: pentru orice r k, exist un cod tip [n, k r, d].
VII. Scurtare. Fie S {1, ..., n} o mulime de coordonate. Fie
C(S) {x1xn C | xi 0, i S}
Prin gurirea lui C(S) pe S obinem un cod CS, numit codul C
scurtat pe S. Altfel spus: lum toate cuvintele cod din C care snt 0
89 90

pe S, tergem coordonatele din S i declarm mulimea de cuvinte 2. Propoziie. Fie C1 i C2 coduri liniare tip [n1, k1, d1] (resp.
obinut ca noul cod. [n2, k2, d2]) peste F. Atunci
Prin scurtarea unui cod MDS se obine tot un cod MDS (rezultat C1C2 : {(c1, c2) F n1 n2 | c1 C1, c2 C2}
utilizat n practic): este un cod liniar tip [n1 n2, k1 k2, min(d1, d2)] (numit suma
direct a codurilor C1 i C2). Dac G1 i G2 snt matrice
1 Propoziie. Fie C un cod tip [n, k, n k 1] (cod MDS).
G 0
Atunci codul C scurtat pe orice coordonat este un cod tip generatoare, atunci 1 este matrice generatoare pentru
0 G2
[n 1, k 1, n k 1] (tot un cod MDS). Prin inducie, scurtarea
lui C pe orice r k coordonate produce un cod MDS tip C1C2.
Demonstraie. Fie {e1 , , ek1 } , { f1 , , f k2 } baze n C1 (resp.
[n r, k r, n k 1].
Demonstraie. Presupunem c scurtm C pe coordonata 1. C2). Se vede uor c {(e1 , 0), , (ek1 , 0), (0, f1 ), , (0, f k2 )} este baz
Obinem n C1C2. Cuvintele nenule de pondere minim snt de forma
n1
C1 x2xn F | 0x2xn C (c1, 0) sau (0, c2), unde c1 i c2 snt nenule de pondere minim.
C1 este izomorf cu {x1xn C | x1 0}, nucleul aplicaiei Deci ponderea minim este min(d1, d2).
: C F, (x1 xn) x1. Afirmm c nu este identic 0. ntr-
adevr, dac 0, atunci toate cuvintele din C snt 0 pe IX Construcia (u, u v) (bar product) Aceast construcie
coordonata 1; deci C gurit pe coordonata 1 este un cod poate produce coduri interesante i practice.
[n 1, k, d], ceea ce contrazice inegalitatea Singleton.
3 Propoziie. Fie C1 i C2 coduri liniare tip [n, k1, d1] (resp.
Deci 0 i este surjectiv. Avem
[n, k2, d2]) de aceeai lungime peste F. Atunci
dim C dim Ker dim Im, 2n
C1|C2 : {(u, u v) F | u C1, v C2}
deci k dim C1 1. Astfel, C1 este un cod tip [n 1, k 1, d(C1)].
este un cod liniar tip [2n, k1 k2, min(2d1, d2)]. Dac G1 i G2 snt
Din inegalitatea Singleton d(C1) (n 1) (k 1) 1 n k 1.
G G1
Fie 0 x2 xn C1, deci 0x2xn C. Atunci wt(x2xn) matrice generatoare, atunci 1 este o matrice generatoare
wt(0x2xn) n k 1. Aadar d(C1) n k 1. 0 G2
pentru C1|C2.
VIII Suma direct. Suma direct a dou coduri este acelai Demonstraie. Fie {e1 , , ek1 } , { f1 , , f k2 } baze n C1 (resp.
lucru ca suma direct (extern) a dou spaii liniare:
C2). Atunci:
{(e1 , e1 ), , (ek1 , ek1 ), (0, f1 ), , (0, f k2 )}
91 92

este o baz n C1|C2. Aceasta implic dim (C1|C2) k1 k2 i Ca o aplicaie, descriem o familie important de coduri care
afirmaia despre matricea generatoare. poate fi construit recursiv folosind metodele de mai sus:
Fie c (u, u v) un cuvnt nenul n C1|C2, u C1, v C2.
5 Definiie. Codurile Reed-Muller binare de ordinul 1, R(1, m)
Avem dou cazuri: 2
(m 1) snt definite astfel: R(1, 1) : F2 ; pentru orice m 1, R(1,
I. v 0. Atunci u 0, deci wt(c) 2wt(u) 2d1 min(2d1, d2).
m 1) : R(1, m)|1.
II. v 0. Atunci
*
wt(u, u v) wt(u) wt(u v) wt(u) wt(v) wt(u) wt(v) 6 Propoziie. Pentru orice m N , R(1, m) este un cod binar
m m1
d2 min(2d1, d2) tip [2 , m 1, 2 ]. Mai mult, orice cuvnt cod nenul are
n m1 m
(Am folosit faptul c wt(v u) wt(v) wt(u), v, u F . pondere 2 , cu excepia cuvntului 1 (de pondere 2 ).
Demonstrai!) Demonstraie. R(1, 1) este cod binar tip [2, 2, 1]. Demonstrm
Deci, d(C1|C2) min(2d1, d2). Pentru inegalitatea opus, obser- afirmaiile prin inducie dup m. Presupunem c R(1, m) este cod
m m1
vm c, dac u C1 are pondere d1, atunci (u, u) C1|C2 i tip [2 , m 1, 2 ]. Din Corolarul 4, R(1, m 1) este cod tip
m m m
wt(u, u) 2d1; dac v C2 are pondere d2, atunci (0, v) C1|C2 i [22 , m 2, min(2 , 2 )], ca n enun. Fie 0 c R(1, m 1).
m1
wt(0, v) d2. Dac c (u, u), cu u R(1, m), atunci wt(u, u) 2wt(u) 22
m
dac u 1 (sau 22 dac u 1). Dac c (u, u 1), u R(1, m),
n m m1
Fie 1 vectorul din (F2) cu toate componentele egale cu 1. Acest u 1, atunci wt(u 1) 2 wt(u) 2 (observai c adunnd 1
m
vector genereaz codul de repetiie de lungime n, cod binar de tip la u biii care erau 1 devin 0 i invers), deci wt(u, u 1) 2 . Dac
m
[n, 1, n], pe care l notm tot cu 1; acest cod are doi vectori: c (1, 1 1) (0, 1), atunci wt(c) 2 .
(0, ..., 0) 0 i (1, ..., 1) 1. Codul Reed-Muller R(1, 5) a fost folosit pentru comunicaii din
4 Corolar. Fie C un cod binar tip [n, k, d]. Atunci spaiul cosmic n 1972, cnd sonda Mariner a transmis fotografii cu
2n 2n
C|1 : {(u, u) F2 | u C}{(u, u 1) F2 | u C} Marte.

este un cod liniar tip [2n, k 1, min(2d, n)]. Construcia (u, u v) poate fi folosit pentru a defini recursiv
Dac G M(k, n, F2) este o matrice generatoare a lui C, codurile Reed-Muller binare de ordin r:
G G
atunci M(k 1, 2n, F2) este o matrice generatoare a 7 Definiie. Pentru r N i orice m r, definim codul binar
0 1 Reed-Muller de ordin r, R(r, m):
lui C|1.
93 94
m
a) R(0, m) este codul binar de repetiie de lungime 2 . Este un elemente. Atunci orice E-spaiu liniar de dimensiune k poate fi
m m
cod tip [2 , 1, 2 ]. vzut ca un F-spaiu liniar de dimensiune mk (demonstrai!).
r r r
b) R(r, r) este ntreg spaiul 22 (codul binar tip [2 , 2 , 1]2).
c) Pentru orice r 0 i r 1 m, 9 Teorem. (Subcod determinat de un subcorp) Fie C un cod
m
R(r, m) : R(r, m 1)|R(r 1, m 1). [N, K, D] peste corpul E cu q elemente i F subcorpul su cu q
N
elemente. Definim C|F : C F (mulimea cuvintelor cod cu toate
Fie G(r, m) o matrice generatoare a lui R(r, m). Din definiiile coordonatele n F). Atunci C|F este un cod F-liniar de tip [n, k, d],
de mai sus rezult c putem pune: unde n N, k mK (m 1)N i d D. Dac mK (m 1)N, se
G(0, m) 1 1 1 ; G(m, m) I poate obine un cod F-liniar de tip [N, mK (m 1)N , D].
2m
Demonstraie. Faptul c C|F este F-cod liniar i c d(C|F) d
Corolarul 4 permite s scriem: este propus spre demonstraie cititorului. Evident, N n. Avem:
G (r , m 1) G (r , m 1) N N N
G(r, m) dimF C|F dimF (C F ) dimF (C) dimF (F ) dimF (C F )
0 G (r 1, m 1) N
mK N dimF (E ) mK N mN mK (m 1)N.
Propunem ca exerciiu demonstrarea urmtoarelor fapte despre Aplicnd construciile III i IV lui C|F, obinem codul de tip
codurile Reed-Muller folosind aceast definiie: [N, mK (m 1)N , D].

8 Teorem. Fie r N i m r. Atunci :


a) R(r, m) R(s, m) dac r s m.
b) dim R(r, m) .
m
0
m
1
m
r
mr
c) d(R(r, m)) 2 . Exerciii

d) R(m, m) 0.

e) r m, R(r, m) R(m r 1, m). 1. Demonstrai c prin scurtarea unui cod tip [n, k, d] pe o
Alte construcii importante (ntreesere i concatenare) se vor coordonat se obine un cod tip [n 1, k', d'], unde k 1 k' k i
descrie n capitolul de Aplicaii. d' d.
2. Presupunem c G este o matrice generatoare n form standard
n continuare descriem o construcie bazat pe urmtoarea
m pentru codul C de tip [n, k, d]. Scriei o matrice generatoare pentru
observaie. Fie E un corp cu q elemente i F subcorpul su cu q
C scurtat pe prima coordonat.
95 96
r
3. Fie C codul binar cu matricea generatoare 8. Fie H4, r un cod Hamming de lungime (4 1)/3 peste F4. Ce
1 1 1 1 0 informaii ofer teorema 9 asupra parametrilor lui H 4,r F2 ?
0 1 0 1 1
Determinai parametrii lui H 4,3 F2 .
0 0 1 1 1
9. Demonstrai c extinderea codului binar Hamming H de tip
Scriei o matrice generatoare pentru C scurtat pe coordonata 2.
[7, 4, 3] este un cod H' de tip [8, 4, 4]. Gsii o matrice generatoare
4. Scriei toate cuvintele codului R(1, m), pentru m 3, 4, 5. n form standard a lui H'. Demonstrai c H' este cod autodual.
Demonstrai c R(1, 3) este autodual.
10. Fie codul binar G24 cu matricea generatoare G (I12 | A), unde
5. Fie F un corp finit. a) Calculai numrul de coloane de lungime
2
0 1 1 1 1 1 1 1 1 1 1 1
2, liniar independente n F . 1 1 1 0 1 1 1 0 0 0 1 0
b) Demonstrai c afirmaia n 1, exist un cod de tip [n 2,
1 1 0 1 1 1 0 0 0 1 0 1
n, 3] peste F este fals.
c) Demonstrai c afirmaia: Pentru orice corp F i orice n, k, 1 0 1 1 1 0 0 0 1 0 1 1
1 1 1 1 0 0 0 1 0 1 1 0
d, dac exist un F-cod liniar tip [n, k, d], atunci exist un F-cod
1 1 1 0 0 0 1 0 1 1 0 1
liniar tip [n 1, k 1, d] este fals. A
1 1 0 0 0 1 0 1 1 0 1 1
d) Demonstrai c nu exist un cod binar tip [9, 4, 5].
e) Demonstrai c afirmaia: Pentru orice corp F i orice n, k, 1 0 0 0 1 0 1 1 0 1 1 1
1 0 0 1 0 1 1 0 1 1 1 0
d, dac exist un F-cod liniar tip [n, k, d], atunci exist un F-cod
liniar tip [n 1, k, d 1] este fals. 1 0 1 0 1 1 0 1 1 1 0 0
1 1 0 1 1 0 1 1 1 0 0 0
6. a) Demonstrai c exist un cod binar [63, 57, 3].
b) Determinai cel mai mic n cu proprietatea c exist un cod 1 0 1 1 0 1 1 1 0 0 0 1
binar [n, 50, 3]. (Ind. n 56 din inegalitatea Hamming. Folosii Observai c fiecare din liniile submatricei A' (de tip 1111
construcia V pentru codul de la a).) obinut din A prin suprimarea liniei 1 i a coloanei 1) este
7. a) Demonstrai c exist un cod binar [67, 60, 3]. permutare circular la stnga de linia precedent. Se mai observ
b) Determinai cel mai mic n cu proprietatea c exist un cod c n prima linie a lui A', n poziia i este 1 (i 0, 1, , 10) dac i
binar [n, 60, 4]. numai dac i {0, 1, 3, 4, 5, 9}, adic i este un ptrat n Z11 (i este
rest ptratic mod 11).
97

a) Demonstrai c linia 1 i linia 2 a lui G snt ortogonale ntre


ele i pe orice linie. Deducei c G24 este autodual.
b) Demonstrai c i (A|I12 ) este matrice generatoare a lui G24.
12
c) Demonstrai c, a, b (F2) , (a, b) G24 (b, a) G24.
d) Demonstrai c nu exist cuvinte cod de pondere 4 i c
distana minim a lui G24 este 8.
e) Prin gurirea lui G24 pe prima coordonat, demonstrai c VI. Coduri ciclice
exist un cod binar G23 de tip [23, 12, 7].
Codul G24 se numete codul binar Golay extins, iar G23 se Clasa codurilor ciclice este obinut prin impunerea unei
numete codul binar Golay. Demonstrai c G23 este perfect. structuri suplimentare codurilor liniare. Aceasta permite o
descriere mai precis, o construcie uoar, compact i algoritmi
eficieni de codare i decodare. Fixm un corp finit F cu q
elemente.

1 Definiie. Un cod liniar C peste F se numete ciclic dac,


pentru orice c (c0, c1,, cn 1) C, rezult c permutarea ciclic
la dreapta a lui c, adic (cn 1, c0, , cn 2) este tot n C.
Codurile ciclice au o structur algebric suplimentar:

2 Teorem. Fie C un cod liniar peste F i fie Rn inelul factor


n n
F[X]/(X 1). Fie x clasa lui X modulo (X 1) i fie
submulimea lui Rn:
n1
IC : {c0 c1x cn 1x |(c0, c1,, cn 1) C}.
Atunci: C este ciclic dac i numai dac IC este un ideal n R.
Demonstraie. Fie C cod ciclic. IC este clar parte stabil la
adunare n Rn. Fie (c0, c1,, cn 1) C. Atunci avem, n Rn:
n1 2 n
x(c0 c1x cn 1x ) c0x c1x cn 1x cn 1
n1
c0x cn 2x IC

98
99 100
n
Am folosit c n Rn are loc x 1. Pentru orice este un polinom nenul din I de grad minim. Un astfel de polinom g
m
u b0 b1x bmx Rn i v IC, uv este o combinaie este numit generator al lui I.
t n1
liniar de elemente de forma x (c0 c1x cn 1x ), care snt Demonstraie. a) Dac B este ideal n R/I, atunci
n IC (se folosete o inducie, cazul t 1 a fost demonstrat). IB : {r R | r I B} este ideal n R i B IB/I (demonstrai!).
Dac IC este ideal, atunci, (c0, c1,, cn 1) C, avem b) Fie I un ideal nenul n F[X] i fie g I un polinom monic al
n1 n1
x(c0 c1x cn 1x ) cn 1 c0x cn 2x IC, crui grad e cel mai mic printre gradele polinoamelor nenule din I.
deci (cn 1, c0, , cn 2) C. Dac f I, atunci f gq r, unde q, r K[X], grad r grad g (sau
r 0). Cum r f gq i I is an ideal, avem r I; grad r grad g
3 Exerciiu. Dac I este ideal n Rn, cum i putem asocia un cod implic r 0. Deci f gq (g), f I.
liniar ciclic de lungime n peste F? Demonstrai c exist o bijecie
n
ntre codurile liniare de lungime n peste F i idealele lui 5 Teorem. Pentru orice ideal I al lui Rn F[X]/(X 1),
n n
Rn F[X]/(X 1). exist un unic polinom monic g F[X] astfel nct g|(X 1) i
n n
Demonstraia de mai sus arat c este util s vedem cuvintele I (g)/(X 1) {hg mod(X 1) | h F[X]}.
n
n Demonstraie. Lema de mai sus spune c I J/(X 1), pentru
unui cod ciclic de lungime n peste F ca polinoame mod(X 1); n
astfel, vom identifica cuvntul (c0, c1,, cn 1) C cu un ideal al lui F[X] care include (X 1). Dar J este de forma (g),
n n
c0 c1x cn 1x
n1 n
din Rn F[X]/(X 1). unde (g) (X 1), i.e. g|(X 1).

Studiul codurilor ciclice de lungime n peste F este aadar Conchidem c un cod ciclic C este unic determinat de
n
echivalent cu studiul idealelor lui F[X]/(X 1). generatorul monic g din demonstraia de mai sus, numit polinomul
generator al codului C. Deci, polinomul monic g F[X] este
4 Lem. a) Fie R inel i I un ideal n R. Atunci orice ideal al polinomul generator al codului C de lungime n dac i numai dac
n
inelului factor R/I se poate scrie unic sub forma g|(X 1) i
n
J/I {j I | j J}, unde J este un ideal al lui R care include I. C {hg mod(X 1) | h F[X]}.
n
Mai precis, aplicaia J J/I este o bijecie care pstreaz (Identificm cuvintele din C cu polinoamele mod (X 1)!)
incluziunile ntre mulimea idealelor lui R care includ I i
6 Propoziie. Fie C cod ciclic de lungime n i fie g polinomul
mulimea idealelor lui R/I.
b) Idealele lui F[X] snt de forma (g) {gh | h F[X]}, cu su generator. Atunci orice cuvnt din C poate fi unic scris sub
g F[X]. Pentru un ideal nenul I al lui F[X], avem I (g), dac g forma hg, cu h F[X], grad h grad g :
n
C {hg mod(X 1) | h F[X]}.
101 102
n 1
n particular, dimensiunea lui C este k n grad g.
n X n 1 X i
Demonstraie. Deoarece g|(X 1), exist d F[X] astfel nct i 0
n
X 1 gd. Fie h F[X] oarecare. Din teorema mpririi cu rest n
exist q, r F[X] cu h dq r, grad r grad g. Deci (egalitile Deoarece generatorul g divide X 1, rezult c:

X , pentru o submulime I {0, 1, , n 1}.


n
snt mod(X 1)): g i

n n iI
hg (dq r)g gdq rg (X 1)q rg rg mod(X 1).
Mulimea I se numete mulimea de definiie a lui C (n raport
Fie C un cod ciclic [n, k, d] i fie g polinomul su generator.
cu ).
Propoziia de mai sus spune c o baz pentru C este g, xg,,
k1 nk
x g. Presupunem c g a0 a1 X an X . Aadar, o 7 Observaie. Cu notaiile de mai sus, I este mulimea de
n
matrice generatoare a lui C este: definiie a lui C dac i numai dac are loc: c F[X]/(X 1),
i
a0 a1 an k 0 0 0 c C c( ) 0, i I.
0 a0 a1 an k 0 0
Nu orice submulime a lui {0, 1, , n 1} este mulime de
M(k, n, F)
definiie pentru un cod ciclic, deoarece g trebuie s aib coeficieni

0 0 a0 a1 an k n q. Avem nevoie de urmtorul rezultat din teoria Galois.

Presupunem de acum nainte c (q, n) 1. 8 Propoziie. Fie F E o extindere de corpuri finite, |F| q,
Aceast presupunere e necesar deoarece avem nevoie de o m q q
n
|E| q . Atunci F {x E | x x}. Fie : E E, (x) x .
extindere a lui q n care X 1 se descompune n factori liniari
n Extindem la : E[X] E[X],
distinci (adic X 1 nu are rdcini multiple; din criteriul cu n n
n n1 (a0 a1 X an X ) a0) a1) X an )X
derivata formal, aceasta echivaleaz cu (X 1, nX ) 1
n1 Atunci este un morfism de inele i f F[X] dac i numai
nX 0 (q, n) 1). Dac o astfel de extindere F exist, F are
m n dac ( f ) f.
q elemente. Cum rdcinile lui X 1 formeaz un subgrup de q
* m Demonstraie. Faptul c F {x E | x x} e demonstrat la
ordin n i F are ordin q 1, din teorema lui Lagrange rezult
m * Teorema III.16.b). Cum este automorfism (este o putere a
n | q 1. Fie un generator al lui F (un element primitiv al lui
automorfismului Frobenius), un calcul direct arat c este
F); atunci q 1 n are ordin n in F (este o rdcin
m *

automorfism. Avem:
primitiv de ordinul n a unitii n F) i avem: n n
(a0 a1 X an X ) a0 a1 X an X a0) a0,
n
, an ) an a0, , an F a0 a1 X an X F[X].
103 104

Aplicnd acest rezultat la g X , avem: g F[X]


iI
i
11 Teorem. RS(k, q) este cod liniar ciclic tip [q 1, k, q k]

g (g) X . Am obinut urmtoarea:


iI
iq (cod MDS).
Demonstraie. {f | f q[X], grad f k 1} : Lk 1 este un
subspaiu liniar al lui q[X] de dimensiune k. RS(k, q) poate fi
9 Propoziie. Mulimea I {0, 1, , n 1} este mulime de vzut ca imaginea funciei de evaluare ev : Lk 1 q ,
q1

q2
definiie pentru un anumit cod ciclic C dac i numai dac are ev( f ) ( f (1), , f ( )). Deci RS(k, q) este subspaiu liniar,
proprietatea c, pentru orice i I , rezult c iq (mod n) este tot cci ev este liniar. Dimensiunea este k, deoarece ev este injectiv:
n I. orice f Lk 1 cu ev( f ) (0, , 0) are q 1 grad f rdcini i
trebuie s fie 0).
Se observ c g factorizeaz ntr-un produs de polinoame Dac wt( f (1), , f (
q2
)) q 1 k 1, atunci numrul de
n n
ireductibile peste q, alese dintre factorii lui X 1. Cum X 1 i
coordonate i cu f ( ) 0 este mai mare dect k 1. Deci f are mai
nu are rdcini multiple, g este produs de polinoame ireductibile multe rdcini dect gradul, i.e f 0. Astfel, ponderea minim a
distincte. Un astfel de polinom ireductibil este de fapt polinomul cuvintelor lui RS(k, q) este d q k, adic este un cod MDS.
i
minimal mi al unui pentru un i, 0 i n, i trebuie s aib i Orice cod Reed-Solomon este ciclic. ntr-adevr, o baz a
q i iq
rdcinile obinute aplicnd automorfismul z z , adic , , j
subspaiului k-dimensional RS(k, q) este {ev(X ) | 0 j k 1},
iq2
, . n concluzie, g este produs de polinoame minimale j j 0 j q2
unde ev(X ) (( ) ,, ( ) ). Permutnd ciclic la dreapta acest
distincte mi. j q2 j 0 j q3
cuvnt cod obinem (( ) , ( ) ,, ( ) ) ev(X ), care
j j

Unul din cele mai importante exemple de coduri ciclice (foarte aparine RS(k, q) (vezi i exerciiul 1).
folosit n practic) este urmtorul: Codurile Reed-Solomon au aplicaii practice importante, fiind
q2 folosite la schemele de codare pentru corectarea de erori la medii
10 Definiie. Fie q \ {0} {1, , , } unde este un
*
de stocare (CD, DVD, Blu-Ray), la transmisii de date (DSL,
element primitiv al lui q (deci este de ordin q 1 n q ) i WiMAX), DVB (Digital Video Broadcast), la anumite
1 k q 1. Codul Reed-Solomon RS(k, q) este codul urmtor de implementri ale RAID 6.
lungime n q 1:
q2 q1
RS(k,q) : {( f (1),, f ( )) q | f q[X], grad f k 1}
105 106
8
Exerciii 7. Descompunei n factori polinomul X 1 F3[X]. Calculai
numrul codurilor ciclice de lungime 8 peste F3.
1. Fie C cod liniar i fie {u1, , uk} o baz n C. Demonstrai c C
este ciclic dac i numai dac permutrile ciclice la dreapta ale
oricrui ui snt cuvinte cod n C.
2. Fie g F[X] polinomul generator al unui cod ciclic de lungime
n astfel nct (X 1) g. Demonstrai c
n
C' {(c0, , cn 1) F | (c0,, cn 1) C, c0 cn 1 0}
este cod ciclic i are polinom generator (X 1)g. Ce se ntmpl
dac (X 1) | g?
3. Fie C cod binar ciclic i g polinomul generator. Demonstrai c
toate cuvintele lui C au pondere par dac i numai dac g este
divizibil cu X 1.
2 5
4. Fie g 1 X X F2[X]. Demonstrai c g genereaz un cod
ciclic C de tip [31, 26, 3]. Demonstrai c mulimea cuvintelor de
pondere par ale lui C este codul din exemplul 5. Scriei polinomul
generator.

5. Fie C cod liniar ciclic. Demonstrai c C este ciclic.
m
6. Fie g a0 a1 X amX polinomul generator al codului
ciclic C, de lungime n. Definim reciprocul lui g:
n
gR : am am 1 X a0 X .
n
Fie h F[X] astfel nct gh X 1. Demonstrai c hR

genereaz codul dual C . (Ind. Fie g g0 g1 X gn 1X n 1
i h h0 h1 X hn 1X n 1, cu gn 1 i hn 1 posibil 0.
n
Calculai gh mod (X 1) i comparai coeficienii. Conchidei c
n
hR (ca vector n F ) este ortogonal pe (g0, g1, , gn 1) i pe toate
permutrile sale ciclice).
108

Echivalent spus, un cod BCH de distan din design t este un


cod ciclic cu generator egal cu cel mai mic multiplu comun al
j j1 jt2
polinoamelor minimale ale , , , pentru un j 0.

2 Exerciiu. RS(k, q) este cod BCH primitiv n sens restrns, de


lungime q 1 (deci m 1 i n q 1 n definiia de mai sus).
VII. Coduri BCH Generatorul su este g (X )(X
qk1
).
Denumirea de cod BCH de distan din design t este justificat:

Codurile Reed-Solomon snt o subclas a unei clase de coduri 3 Teorem (inegalitatea BCH, BCH bound) Distana minim
ciclice cunoscute drept coduri BCH (numele este un acronim d a unui cod BCH cu distan din design t este cel puin t.
format cu numele celor care le-au inventat: R.C. Bose i D.K. Demonstraie. Fie j, j 1, , j t 2 n mulimea de definiie
Ray-Chaudhuri n 1960 i, independent, A. Hocquenghem n a lui C i fie c s 1 ci x s un cuvnt cod nenul n C de pondere d
d i
s
1959). Interesul pentru aceste coduri este dat de faptul c aceast
(unde ci j 0, j). Presupunem prin absurd c d t. Deoarece
construcie permite crearea de coduri care au o distan minim i
n
prescris. Meninem presupunerea c (q, n) 1, adic X 1 se c( ) 0, i, j i j t 2, avem Ac 0, unde
i1 j i2 j i j
d ci1
descompune n factori liniari distinci ntr-o anumit extindere a lui
i1 ( j 1)
q. i2 ( j 1) i ( j 1)
d
ci
A ,c 2

i1 ( j d 1) id ( j d 1)


i2 ( j d 1)
*
1 Definiie. Fie n 2 i t N . Fie o rdcin primitiv de cid
m
ordin n a unitii ntr-o extindere GF(q ) a lui GF(q) i fie I Avem:
n
mulimea de definiie a unui cod ciclic C GF(q) . 1 1 1
Codul C se numete cod BCH de distan din design t dac I i1 i2 id
det A det
i1 j i2 j id j 0,
conine t 1 numere consecutive. Dac {1, , t 1} I, atunci C
m
se numete cod BCH n sens restrns. Dac n q 1 (adic i1 ( d 1)
id ( d 1)
i2 ( d 1)
m
este element primitiv al lui GF(q )), atunci C este numit primitiv.
(ultimul determinant este tip Vandermonde). Deci c 0,
contradicie.

107
109 110
r
4 Observaie. Exist multe coduri ciclice cu distana minim 6 Propoziie. Fie n (q 1)/(q 1), cu (r, q 1) 1. Fie C
mai mare dect cea garantat de inegalitatea BCH. O cale de a codul BCH cu generator polinomul minimal al lui , rdcin
mbunti estimarea distanei pentru un cod ciclic este primitiv de ordin n a unitii ntr-o extindere a lui Fq. Atunci C
urmtoarea: s observm c mulimea de definiie I a codului ciclic este codul Hamming Hq,r.
C depinde de alegerea rdcinii primitive de ordin n a unitii Demonstraie. Artm c (n, q 1) 1. Pentru aceasta, obser-
din F. Orice alt rdcin primitiv de ordin n a unitii este de vm c n r este multiplu de q 1:
a
forma , cu (a, n) 1. Fie b N astfel nct ab 1 (mod n); qr 1
n 1 q ... q r 1 1 q 1 1 q 2 1 1 ... q r 1 1 1

b
atunci 1 a b . Mulimea de definiie a lui C relativ la q 1
este J {bi (mod n) | i I} : bI. Se poate ntmpla ca bI s aib r (q 1) c
mai multe elemente consecutive dect I. Deci, cnd estimm cu
de unde rezult (n, q 1) (r, q 1) 1.
inegalitatea BCH distana minim a unui cod ciclic de mulime de
r r
definiie I, un multiplicator (un numr ntreg b prim cu n) poate fi Fie un element primitiv n GF(q ) i GF(q ), ord n.
q r 1
aplicat lui I.
Cum ord q 1, putem lua
r n
q 1 .
5 Exemplu. Construim un cod ciclic binar C de lungime 31 a Codul C are ca generator polinomul minimal al lui peste
*
crui mulime de definiie conine 0 i 3. Deci q 2 i n 31. Cel GF(q). Observm c singura putere a lui care aparine lui GF(q)
i *
m
mai mic m astfel nct 31| 2 1 este 5; o rdcin primitiv de este 1. ntr-adevr, dac i {0,..., n 1} i GF(q) , atunci
i q1
ordin 31 a unitii, F32, este de fapt un element primitiv al F32. ( ) 1. Cum ord n, rezult n | i(q 1). ns (n, q 1) 1,
Mulimea de definiie a lui C trebuie s conin 3, 32 6, deci n | i, i i 0.
r
62 12, 122 24, 242 48 17, 172 34 3 (calcule mod Deci, n GF(q ), vzut ca GF(q) spaiu vectorial, elementele
0 1 n1
31). Deci mulimea de definiie este I {0, 3, 6, 12, 24, 17}, care mulimii { , ,..., } sunt dou cte dou liniar independente
furnizeaz d(C) 2. Cum apar multipli de 3 consecutivi, alegem (niciunul nu este multiplu scalar de cellalt).
1 tim c:
multiplicatorul s fie 21 3 (mod 31); obinem 21I {0, 1, 2, 4,
r n1
8, 16 }, care d d(C) 4. Ct este dim C? C {(c0, c1,, cn-1) (GF(q)) | c0 c1 cn 1 0}.
r r
Alegem un Fq-izomorfism : GF(q) GF(q ) (pentru c
Multe coduri Hamming (n particular codurile Hamming binare) r
GF(q ) are dimensiunea r, ca GF(q)-spaiu vectorial). Relaia de
sunt de fapt coduri BCH: n1
liniar dependen c0 c1 cn 1 0 este echivalent
r
(via ) n GF(q) cu c0 ( ) ... c n 1 ( ) 0 . Aadar,
0 n 1
111 112
r n i
C {(c0, c1, cn-1) GF(q) | c0 ( 0 ) ... c n 1 ( n 1 ) 0 } Amintim c, c GF(q)[X]/(X 1), avem c C c( ) 0,
este codul cu matricea de paritate ( ( 0 ),..., ( n 1 )) de tip rn i T. Deci:
i i i i
peste GF(q), care este matrice de tip Hamming de paritate a y( ) c( ) e( ) e( ), i T
codului C. (Amintim c o matrice de paritate pentru codul i m
r Notm cu Si y( ) GF(q ), 1 i 2t, sindroamele lui y.
Hamming Hq,r se obine prin alegerea n GF(q) a (q 1) /(q 1)
Primul pas al algoritmului calculeaz aceste sindroame. n acest
coloane astfel nct oricare dou s fie liniar independente.)
calcul urmtoarea proprietate poate fi util:
Algoritmul Petersen-Gorenstein-Ziegler q
7 Propoziie: Siq Si , i T.
Fie C un cod BCH de lungime n peste corpul GF(q) (cu q o iq i q
m Demonstraie. Siq y( ) y( ) (deoarece calculele sunt n
putere a numrului prim p) i m N astfel nct GF(q ) conine un
corpuri de caracteristic p, iar coeficienii lui y sunt n GF(q)).
element de ordin n. Presupunem c C are distana minim din
design d, deci C poate corecta t [(d 1)/2] erori. Pentru simpli- Avem i, 1 i 2t:
i i
Si y( ) e( ) ek1 ( i ) k1 ekv ( i ) kv
ficarea notaiilor, presupunem c C este n sens restrns, adic mul-
imea de definiie T a lui C n raport cu include {1, 2, , d 1}. ek1 ( k1 )i ekv ( kv )i
Fie c C un cuvnt transmis i y cuvntul recepionat. Ca de Vom simplifica notaiile. Fie, pentru orice 1 j v,
obicei, c i y sunt presupuse a fi polinoame de grad cel mult n 1 Ej ek j (valorile erorilor, error magnitudes)
din GF(q)[x]. Deci y c e, unde e este vectorul (polinomul) Xj
kj
(numerele asociate localizrilor erorilor, error location
eroare, de pondere wt(e) v. Presupunem c v t, adic au avut
numbers)
loc cel mult t erori. Dac poziiile n care apar erori sunt k1, , kv,
Observm c Xj determin n mod unic kj. Aadar:
atunci: Si E1 X 1i Ev X v i , pentru orice i, 1 i 2t.
e(x) ek1 x k1 ekv x kv .
Obinem sistemul:
Scopul nostru este de a afla e, ceea ce permite determinarea S1 E1 X 1 Ev X v
cuvntului transmis: c y e. Pentru aceasta, e suficient s S2 E1 X 12 Ev X v 2
determinm localizrile erorilor (error locations) k1, , kv i (N)

valorile erorilor (error magnitudes) ek1 , , ekv . Observm c v nu S2t E1 X 1 Ev X v 2t
2t

este cunoscut.
113 114

Pentru a rezolva acest sistem (neliniar) cu 2v necunoscute Xj i 8 Lem. Pentru orice v b t, fie Mb matricea cu elemente n
m
Ej (1 j v), definim noile variabile 1, , v i polinomul de GF(q ):
localizare a erorilor (x) prin: S1 S 2 Sb 1 Sb
v S S Sb 1
(x) (1 xX1)( 1 xXv) 1 1x v x () Sb
1 1 Mb 2 3

Rdcinile lui (x) snt X1 , , Xv , deci avem ecuaiile:


1 1 v
( Xj ) 1 1 Xj v Xj 0, 1 j v Sb Sb 1 S 2b 2 S 2b 1
iv
Prin nmulire cu EjXj , obinem: Atunci Mb este inversabil dac b v i neinversabil dac
iv i v 1 i
EjXj 1EjXj vEjXj 0, i b v.
Sumnd dup j de la 1 la v, rezult
v v v
Demonstraie. Presupunem c b v. Punem Xj Ej 0 pentru j
EjXj
iv
1 EjXj
i v 1
v, EjXj 0, i
i
ntre v 1 i b. Notm:
j1 j1 j1
1 1 1 E1 X 1 0 0
Se observ c sumele sunt exact sindroamele Si v, , Si (dac X
X2 Xb 0 E2 X 2 0
i 1 i i v 2t). Astfel, pentru orice i v, ecuaia de mai sus se Ab 1
B .
b
scrie: b 1 b 1 b 1
1 Si v 2 Si v v Si Si v X 1 X2 X b 0 0 Eb X b
T
Scrise matricial, aceste ecuaii devin: Un calcul direct arat c Mb AbBbAb . Deci detMb
S1 S 2 Sv 1 Sv v Sv 1 detAbdetBbdetAb. Dac b v, atunci detBb 0 detMb. Dac
S S Sv Sv 1 v 1 Sv 2 b v, atunci detBb E1 X 1 Ev X v 0 i det Ab 0 (este determi-
2 3
(S)
nant Vandermonde cu X1, , Xb distincte).

Sv Sv 1 S 2 v 2 S 2 v 1 1 S 2 v Lema arat c numrul de erori v este
Pasul 2 al algoritmului va rezolva acest sistem, aflnd 1, , v. v max {b | b t, det Mb 0}.
Mai nti ns, trebuie s aflm v, numrul de erori produse. Pasul 2 al algoritmului determin numrul de erori v, folosind
Folosim faptul c sistemul (S) trebuie s aib o soluie unic, adic lema de mai sus. Astfel, iniializm b t. Dac detMb 0, punem
matricea sistemului trebuie s fie nesingular. b b 1 i relum calculul, pn obinem o matrice nesingular
Mb. Pentru acest b, punem v b i rezolvm sistemul (S). Se obin
1, , v i deci polinomul (x).
La Pasul 3 se determin rdcinile lui (x). Cum rdcinile lui
i
sunt de forma , 1 i n, ele se pot determina prin ncercri
115 116
i
succesive, calculnd ( ), 1 i n. Apoi se gsesc Xi, inversele pn la t 3 erori). Avem nevoie de o extindere a lui F2 care
acestor rdcini. conine o rdcin primitiv de ordin 15. Fie F16, rdcin a
4
Pasul 4 determin valorile erorilor, E1, , Ev. Pentru aceasta se polinomului ireductibil 1 X X ; este element primitiv
rezolv sistemul liniar (N) cu necunoscutele E1, , Ev, n care (verificai!). n prealabil este necesar exprimarea elementelor din
cunoatem Si i Xi. E suficient s ne limitm la primele v ecuaii, F16 ca puteri ale lui . Cum distana din design este 7 i codul este
deoarece determinantul sistemului este nenul: n sens restrns, mulimea de definiie I include {1, 2, 3, 4, 5, 6};
E1 X 1 Ev X v S1 rezult c I {1, 2, 3, 4, 5, 6, 8, 10, 12, 9}. Ce dimensiune are
E1 X 12 Ev X v 2 S2 codul?
(S1) S presupunem c au aprut dou erori, pe poziiile 4 i 11 ale
3 10
E1 X 1 Ev X v v Sv
v cuvntului transmis. Ele reprezint polinomul eroare e X X .
Folosind lista elementelor lui F16 ca puteri ale lui , putem
Sumariznd, se obine: calcula sindroamele S1, , S6:

Algoritmul Petersen-Gorenstein-Ziegler de decodare a S1 e() 3 10 12


2 2
codurilor BCH S2 e( ) e() (S1)2 24 9
i m S3 e(3) 9 30 9 1 7
Pas 1. Calculeaz sindroamele Si y( ) GF(q ), 1 i 2t.
S4 (S2)2 18 3
Dac Si 0, i T, atunci nu au avut loc erori. Dac nu, treci la
S5 e(5) 15 50 0 5 10
pasul 2.
S6 (S3)2 14.
Pas 2. Se caut, n ordine descresctoare, ncepnd cu b t,
Observm c ntr-o situaie real se cunoate doar sindromul
continund cu b t 1, , prima valoare pentru care Mb este
cuvntului recepionat:
nesingular. Punem v b i se rezolv (S), obinndu-se (x).
S (S1, S2, S3, S4, S5, S6) (12, 9, 7, 3, 10, 14)
Pas 3. Se determin rdcinile lui (eventual prin ncercarea
i Calculm numrul de erori v. Conform pasului 2:
direct a tuturor , 1 i n). Se determin Xj (localizarea
S1 S2 S3 12 9 7
erorilor) ca inversele acestor rdcini.
Pas 4. Se rezolv (S1) i se afl Ej (valorile erorilor). detM3 S2 S3 S4 9 7 3 0
S3 S4 S5 7 3 10
9 Exemplu. a) Construim un cod BCH binar n sens restrns de
lungime 15 cu distan din design 7 (deci algoritmul corecteaz
117 118
3
(Era de ateptat, snt 2 erori, deci detM3 0). Avem c) Construii GF(3 ), gsii un element primitiv i demonstrai
2
12 9 7 c putem lua .
detM2 9 0. Astfel, v 2 i sistemul (S) devine:
7 d) Calculai polinomul generator al codului C.
e) Decodai cuvntul (0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0),
S1 2 S 2 1 S3 12 2 9 1 7
9 2. Construii un polinom generator i o matrice de paritate pentru
S 2 2 S3 1 S 4 2 1
7 3

un cod binar BCH care corecteaz dou erori, de lungime 15.


Rezolvnd, se obine 1 12, 2 13.
Deci (x) 1 1x 2x2 1 12x 13x2. Are ca rdcini 3. Gsii o matrice generatoare a unui cod RS tip [10, 6] peste Z11
12 5
(prin ncercri) pe 12 i 5. Deci X1 3, X2 10. i calculai distana sa minim.
Am redescoperit astfel cele dou localizri ale erorilor, poziiile 4. Construii un cod BCH care s corecteze 3 erori, de lungime 31
4 i 11. Codul fiind binar, corectarea se face modificnd biii de pe i dimensiune 16.
poziiile 4 i 11 din cuvntul recepionat.

Exerciii

1. Scopul exerciiului este de a construi un cod C, BCH, ternar de


lungime 13, distan minim 5 i dimensiune maxim posibil.
m
a) Demonstrai c min{m N | GF(3 ) conine o rdcin
3
primitiv de ordin 13 a unitii} este 3. Fie GF(3 ) o rdcin
primitiv de ordin 13 a unitii.
b) Scriei coseturile 3-ciclotomice mod 13, Ci, 0 i 12. Fie i
i
polinomul minimal al lui peste GF(3). Exprimai i n funcie Ci
i polinomul generator al lui C n funcie de i. Demonstrai c dim
C 6.
120

Avertizare: a nu se face confuzie ntre lungimea unui pachet de


erori u definit ca mai sus (care este b) i lungimea lui u vzut ca
n
vector n F (care e, desigur, n).

2 Teorem. Fie C un cod liniar corector de b-pachete de erori


tip [n, k, d]. Atunci:
a) C nu conine pachete de erori de lungime 2b.
VIII. Aplicaii: pachete de erori, Compact b) (Inegalitatea Reiger, Reiger Bound) n k 2b.
Disc, CRC Demonstraie. a) Presupunem c c C este un pachet de erori
de lungime 2b ale crui componente nenule snt n poziiile de la
Ipoteza c erorile de comunicare apar la ntmplare (ca la i pn la i t (cu t 2b 1): c 00cici t 00, unde cj F,
canalul qSC) nu este ndeplinit n toate aplicaiile practice: exist ci , ci t 0.
canale la care erorile tind s apar una lng alta (pachete de erori, Fie u 0cici b 100, v 00ci bci t00; deci
burst errors). Aceast situaie este des ntlnit la stocarea pe c u v. Atunci 0 v c ( u), cu 0, c C i u, v pachete de
band sau medii optice (CD, DVD), comunicaii radio etc. erori de lungime b, contradicie.
Ca ntotdeauna, F este un corp finit fixat. b) Afirmm c C conine pachete de erori de lungime
n k 1. (Din prima parte, aceasta va implica n k 1 2b
1 Definiie. Un pachet de erori de lungime b, pe scurt b-pachet n k 2b.) S demonstrm afirmaia. Fie H o matrice de paritate a
n nk
de erori (burst of length b, b-burst) este un vector u n F ale crui lui C i fie h1, , hn coloanele sale. Avem hi F , deci h1, ,
coordonate nenule se gsesc pe b poziii consecutive, din care hn k 1 snt liniar dependente: exist c1, , cn k 1 F, nu toi
n
prima i ultima snt nenule. Codul C F se numete corector de zero, astfel nct c1h1 cn k 1hn k 1 0.
b-pachete de erori dac nu exist cuvinte cod distincte c1, c2 C i Atunci c1cn k 100 C, i este pachet de erori de lungime
pachete de erori u1, u2 de lungimi cel mult b astfel nct n k 1.
c1 u1 c2 u2. Pentru un cod liniar C, aceasta e echivalent cu:
Tehnicile de concatenare i ntreesere snt folosite la
Pentru orice pachet de erori u de lungime b, cosetul u C nu
proiectarea de coduri cu capaciti bune de corectare de pachete de
conine alt pachet de erori de lungime b.
erori.

119
121 122

Dac informaia vine n cuvinte de m simboluri binare, acestea lungime (e 1)n 1, unde e b(D 1)/2c, capacitatea de
m
pot fi vzute ca elemente ale corpului cu 2 elemente. Folosind un corectare a lui B.
m
cod Reed-Solomon cu q 2 , un pachet de b erori n simbolurile Demonstraie. a) Lema urmtoare spune c B este un Fq-spaiu
binare devine un pachet de b/m erori n cuvintele cod, care poate fi
liniar de dimensiune Kk. Definim aplicaia Fq-linar
corectat dac b/m e (capacitatea de corectare a codului). Aceasta
: QN qNn , (b1, , bN) ((b1), , (bN)), pentru orice
este un exemplu de concatenare.
(b1, , bN) QN . Acesta este un Fq-izomorfism. Deoarece C este
3 Definiie (Concatenarea a dou coduri, Concatenation of imaginea lui B prin izomorfismul , dimC dimB Kk (ca
two codes). Fie A un cod liniar [n, k, d] peste Fq. Atunci A este Fq-spaii liniare).
k
Fq-spaiu liniar de dimensiune k; deoarece corpul cu Q : q Orice cuvnt nenul din C este de forma ((b1), , (bN)), unde
elemente este tot Fq-spaiu liniar de dimensiune k, exist un Fq- (b1, , bN) este un cuvnt nenul din B; deci are cel puin D
izomorfism : FQ A. Fie B un cod liniar [N, K, D] peste FQ. Un componente nenule. Deoarece orice (bi) nenul are pondere cel
cuvnt oarecare al lui B este de forma b (b1, , bN), bi FQ. puin d, wt((b1), , (bN)) wt((b1)) wt((bN)) Dd.
Dac nlocuim fiecare bi cu imaginile lor n A prin (care snt b) Fie u qNn un pachet de erori de lungime an 1. Atunci u
cuvinte de lungime n peste Fq), obinem un cuvnt de lungime Nn 1
coresponde prin unui vector v QN . O examinare rapid arat
peste Fq. Toate cuvintele obinute astfel formeaz un nou cod C.
Formal: c v este pachet de erori de lungime a 1. Deci, dac punem
a e 1, atunci v este pachet de erori de lungime e i poate fi
C {((b1), , (bN)) qNn | (b1, , bN) B}
corectat de B.
Codul C se numete cod concatenat, cu A codul interior (the
inner code) i B codul exterior (the outer code). A se observa c C 5 Lem. Fie F E o extindere de corpuri, dimFE k. Dac V
depinde i de alegerea Fq-izomorfismului : FQ A. este un E-spaiu vectorial de dimensiune N, atunci E este un F-
spaiu vectorial de dimensiune kN.
4 Teorem. a) C este cod liniar peste Fq, de lungime Nn, Demonstraie. Fie v1, , vN o E-baz a lui V i fie e1, , ek o
dimensiune Kk i distan minim cel puin Dd. F-baz a lui E. Atunci {eivj | 1 i k, 1 j N} este o F-baz a
n
b) Pstrm notaiile din definiia de mai sus i punem A Fq lui V.
(cod tip [n, n, 1] peste Fq). Atunci codul concatenat C cu cod
6 Definiie (ntreesere, Interleaving). Fie C un cod liniar
interior A i cod exterior B poate corecta pachete de erori de
[n, k, d] peste F care poate corecta pachete de erori de lungime b.
123 124

Definim codul tip [nt, kt] I(C, t) (numit C ntreesut la adnimea t, MDS) pe r coordonate produce un cod MDS tip
C interleaved to depth t) astfel: pentru orice cij F, (1 i t, [n r, k r, n k 1].
1 j n): Exerciiu. Construii un cod ReedSolomon de lungime 255 i
c11c21ct1c12c22ct2c1nc2nctn I(C, t) c11c12c1n C, distan minim 5 peste corpul cu 256 elemente. Explicai cum se
c21c22c2n C, , ct1ct2ctn C. obin dou coduri ReedSolomon scurtate: C2 de tip [32, 28, 5] i
Aadar, pentru a obine un cuvnt cod de lungime nt n I(C, t), C1 de tip [28, 24, 5].
se aleg t cuvinte cod c1, c2, , ct C, ci ci1ci2cin i se
formeaz matricea ale crei linii snt cele t cuvinte: Descriem acum (urmnd n linii mari [9]) schema de codare i
c11 c12 c1n decodare folosit pentru compact disc audio (CD audio), pentru a
c c c2 n da o idee asupra dificultilor ce apar i a tehnicilor folosite n
21 22 implementrile concrete ale codurilor corectoare de erori.

Descriere general. Un CD este un disc gros de 1,2 mm, din
ct1 ct 2 ctn
Citind pe coloane, obinem un cuvnt cod din I(C, t). policarbonat, cu diametrul de 120 mm. Un strat subire de
ntreeserea la adncime t multiplic de t ori capacitatea de aluminiu (sau, mai rar, aur) este aplicat pe suprafa, ceea ce o face
corectare de pachete de erori: reflectorizant. Metalul este protejat de un film de lac. Discul
conine o pista spiral de aproximativ 5 km (care ncepe dinspre
7 Teorem. Dac C este un cod liniar [n, k, d], corector de b- centru), care e scanat optic de un laser cu AlGaAs de lungime de
pachete de erori, atunci I(C, t) este cod tip [nt, kt, d], corector de und 780 nm (infrarou apropiat), la o vitez liniar constant de
bt-pachete de erori. aprox. 1,2 m/s. Pe pist snt indentri (numite pit-uri) i zone plate
Demonstraie. Un pachet de erori de lungime bt sau mai mic intre pit-uri, numite lands. Limea unui pit este de aprox. 500 nm,
c11c21ct1c12c22ct2c1nc2nctn este distribuit n pachete de adncimea de 100 nm; lungimea variaz ntre 850 nm i 3500 nm.
erori de lungime cel mult b n cele t linii ale matricei de mai sus. Pasul spiralei este 1,6 m. Laserul este reflectat cu intensiti
diferite de pit-uri i land-uri din cauza interferenei. Prin msurarea
Codarea pentru compact disc schimbrilor de intensitate cu o fotodiod, datele pot fi citite de pe
Schema de codare petru Compact Disc audio folosete dou disc. Pit-urile st mai apropiate de faa etichetat a discului, ceea ce
coduri Reed-Solomon scurtate i dou forme de ntreesere. Din face ca defectele i impuritile de pe faa care este scanat optic s
Prop. V.1, tim c scurtarea unui cod tip [n, k, n k 1] (cod fie neclare (nefocusate) n timpul citirii. Deci este mai probabil
deteriorarea CD-urilor prin partea etichetat a discului. Informaia
125 126

coninut de pit-uri i land-uri este afectat de erori provenind de L1L3L5R1R3R5L"2L"4L"6 R"2R"4R"6


la particule de praf pe disc, bule de aer n nveliul de plastic, Se obine un cuvnt mesaj de 24 octei. Eantioanele care erau
amprente, zgrieturi etc. Aceste erori snt cel mai adesea pachete iniial consecutive n timp snt acum la dou cadre distan.
de erori i snt corectate cu un sistem de codare i decodare foarte Aceasta va uura disimularea erorilor (vezi partea de decodare).
8
eficient. Identificm octeii cu elemente ale corpului F256 cu 2 256
Codarea. Semnalul audio este eantionat prin msurare de elemente. Un codor sistematic pentru codul Reed Solomon scurtat
44,100 ori pe secund. Fiecare eantion este tradus ntr-un numr tip [28, 24, 5]256 C1 (vezi Exerciiu mai sus) codeaz mesajul de
pe 16 bii (deci amplitudinea semnalului va fi aproximat cu unul 24 octei ntr-un cuvnt de 28 octei, care e format din mesajul
16
din cele 2 65536 nivele posibile); deoarece sunetul este stereo, original la care se adaug 4 octei de paritate notai P1 i P2 (P1 i
snt dou eantioane simultane (unul pentru fiecare canal). Astfel, P2 au cte doi octei, ca i Li). Formm cuvntul cod de 28 octei
o eantionare produce 4 octei (bytes) (un octet/byte este un cuvnt prin plasarea P1 i P2 la mijloc:
de 8 bii, adic un element al 28 ). Pentru fiecare secund de sunet L1L3L5R1R3R5P1P2L"2L"4L"6 R"2R"4R"6
se genereaz aadar 44 100 4 = 176 400 octei. Cuvintele cod de 28 octei din C1 snt ntreesute la o adncime
Pentru a coda octeii se folosesc dou coduri ReedSolomon de 28 folosind o ntrziere de 4 cadre (4-frame delay
scurtate, C1 i C2, i dou forme de ntreesere. Aceast schem se interleaving). Mai precis, fie c1, , cn, cuvintele cod din C1 n
numete CIRC (cross-interleaved ReedSolomon code, cod Reed- ordinea n care au fost generate, i fie ci ci1ci28 256
28
. Formm
Solomon ntreesut-ncruciat). Scopul ntreeserii ncruciate, care urmtoarea matrice M cu 28 linii i un numr suficient de coloane
este o variant de ntreesere, este s mprtie pachetele lungi de ca s conin toate cadrele:
erori.
ase eantioane de 4 octei fiecare snt grupate pentru a forma 1 c1,1 c2,1 c3,1 c4,1 c5,1 c6,1 c7,1 c8,1 c9,1 c10,1 c11,1 c12,1 c13,1 c109,1
un cadru (frame). Un cadru are deci 24 octei: 2 0 0 0 0 c1,2 c2,2 c3,2 c4,2 c5,2 c6,2 c7,2 c8,2 c9,2 c105,2
L1R1L2R2 L6R6 , 3 0 0 0 0 0 0 0 0 c1,3 c2,3 c3,3 c4,3 c5,3 c101,3
16
unde Li ( F2 ) semnific cei doi octei corespunztori canalului 4 0 0 0 0 0 0 0 0 0 0 0 0 c1,4 c97,4
stng din eantionul i al cadrului, iar Ri snt cei doi octei
correspunztori de la canalul drept. 28 0 0 0 0 0 0 0 0 0 0 0 0 0 c1,28
Octeii snt rearanjai astfel: eantioanele impare (L1R1, L3R3, Matricea M obinut prin ntreesere cu ntrziere de 4 cadre (4-frame delay
L5R5) se grupeaz cu eantioanele pare L"2R"2 L"4R"4 L"6R"6 luate interleaving)
cu dou cadre mai trziu, n ordinea urmtoare:
127 128

Linia i (foarte lung) se obine prin plasarea octeilor i ai puin dou 0-uri i cel mult zece 0-uri. Cel mai scurt pit (land)
cuvintelor cod c1, , cn, , n aceast ordine; apoi se translateaz reprezint 3 bii (100), i cel mai lung 11 bii (10000000000).
la dreapta linia 2 cu 4 poziii, linia 3 cu 8 poziii, ..., linia 28 cu Deci, cei 256 octei posibili trebuie convertii n iruri de bii care
274 108 poziii; se completeaz cu zerouri unde e necesar. satisfac aceast condiie. Se poate arta c cea mai mic lungime l,
Cuvntul cod ci poate fi citit din aceast matrice prin parcurgerea n astfel nct exist cel puin 256 cuvinte binare de lungime l cu
diagonal cu panta -1/4 ncepnd din poziia i a liniei 1. proprietatea c fiecare 1 este separat de cel puin dou 0-uri i cel
Am obinut pn acum o matrice M ale crei coloane snt mult zece 0-uri, este 14. De fapt, snt 267 cuvinte de lungime 14 cu
elemente din 25628
. Folosim acum codul ReedSolomon scurtat C2, aceast proprietate; 11 din acestea nu snt folosite. Aceast
tip [32, 28, 5]256, pentru a coda aceti vectori de lungime 28 n conversie de la octei la cuvinte de lungime 14 se numete EFM
cuvinte cod de lungime 32. Aceste cuvinte cod snt iari (eight-to-fourteen modulation, modulaie opt la paisprezece), i se
ntreesute: simbolurile de pe poziii impare de la un cuvnt snt realizeaz folosind un tabel de conversie. Mai este o problem:
grupate cu simbolurile de pe poziii pare ale cuvntului urmtor; se dou cuvinte succesive de 14 bii pot s nu satisfac condiia de
obine un ir de segmente de 32 octei. Aceast ntreesere mai separare de mai sus. Din acest motiv, trei bii suplimentari (merge
mprtie eventualele pachetele de erori care mai exist. La bits, bii de fuzionare) snt adugai la sfritul fiecrui cuvnt de
sfritul fiecrui astfel de segment este adugat un al 33-lea octet 14-bii pentru a obine iruri care satisfac condiia. De exemplu,
(de control i display). Astfel, fiecare cadru de 6 eantioane a irurile 10010000000100 i 00000000010001, scrise succesiv, ar
produs n final 33 octei. O schem detaliat a codrii folosind C1 produce un ir de 11 zerouri; dac adugm 001 dup primul ir,
i C2 poate fi gsit n [19]. obinem 1001000000010000100000000010001, care satisface
Fiecare octet obinut trebuie acum imprimat pe disc. O tranziie condiia.
land-pit sau pit-land semnific un 1, n timp ce un pit sau land Astfel, cadrul iniial de 6 eantioane corespunde la 33 octei;
semnific un ir de 0. Lungimea pit-ului (land-ului) determin fiecare octet e convertit n 17 bii. La fiecare aceti 3317 bii, se
numrul de 0-uri, dup regula c fiecare bit corespunde la 300 nm. adaug 24 bii plus trei bii de fuzionare; astfel, fiecare cadru de 6
De exemplu, un pit de lungime 1500 nm urmat de un land de eantioane produce 588 bii.
lungime 900 nm corespunde irului 10000100: pit-ul de 1500 nm Decodarea i corectarea de erori. Mai nti se elimin biii de
semnific 1500/300 5 bii, din care primul e 1, adic 10000; sincronizare, control i display i de fuzionare. Se realizeaz apoi
landul de 900 nm semnific irul de trei bii 100. conversia din formatul EFM n octei folosind o tabel; acum
Din motive tehnice, fiecare land sau pit trebuie s fie ntre 900 informaia este un ir de octei. Apoi se rearanjeaz octeii n
i 3300 nm, adic fiecare pereche de 1 trebuie s fie separat de cel ordinea normal. irul e mprit n segmente de 32 octei. Fiecare
129 130

din aceste segmente de 32 octei conine octeii de pe poziii vectori din sferele de raz 2 centrate n cuvinte cod i numrul
impare dintr-un cuvnt cod (cu posibile erori) i octeii de pe total de vectori din 256
32
:
poziiile pare ale urmtorului cuvnt cod. Octeii snt regrupai n 32
25628 1 32(256 1) (256 1) 2
poziiile iniiale i snt furnizai decodorului pentru C2. Dac un 2 32260561 0.0756
pachet scurt de erori a aprut pe disc, pachetul va fi divizat n 256 32
2564
pachete mai mici prin aceast regrupare.
Decodarea cu C 2 . Deoarece C2 este cod tip [32, 28, 5] peste Aceast probabilitate de eec (cam de 4000 ori mai mare dect
F256, poate corecta dou erori la nivel de octei. Totui, este folosit precedenta) este motivul pentru care C2 nu este folosit la
doar pentru a corecta o eroare i pentru a detecta prezena de erori capacitatea maxim de corectare.
multiple. Dac s-a produs o singur eroare, C2 poate corecta Decodare cu C1. Dac decodorul pentru C2 gsete cel mult o
eroarea prin cutarea unui cuvnt cod n sfera de raz 1 centrat n eroare ntr-un ir de 32 octei, eroarea eventual este corectat i
cuvntul recepionat. Dac gsete unul, eroarea este corectat; mesajul de 28 octei este extras i trimis mai departe. Dac C2
dac nu, nseamn c dou sau trei erori au avut loc i C2 a detectat detecteaz cel puin dou erori, trimite un cuvnt de 28 octei cu
aceste erori (dar nu va fi folosit pentru corectarea lor). toate componentele marcate ca tersturi. Aceste blocuri de 28
E important s estimm probabilitatea ca C2 s nu detecteze 4 octei corespund coloanelor matricei M, cu posibile tersturi.
sau mai multe erori cnd e folosit s corecteze 1 eroare. O astfel de Diagonalele de pant 1/4 snt transmise ca vectori de 28 octei
situaie apare dac erorile se produc la un cuvnt cod nct vectorul decodorului pentru C1. Se observ c blocurile de 28 octei cu
ce rezult se afl ntr-o sfer de raz 1 centrat n alt cuvnt cod. tersturi snt mprtiate prin acest proces la blocuri diferite ale
Presupunnd c toi vectorii snt la fel de probabili, probabilitatea codului exterior C2.
ca aceast situaie s apar este aproximativ egal cu raportul O schem de decodare folosete C1 doar la corectarea
dintre numrul de vectori din sferele de raz 1 centrate n cuvinte tersturilor. Din teorema I. 12, C1 poate corecta pn la patru
cod i numrul total de vectori din 25632
: tersturi. Datorit ntreeserii, un bloc de 28 octei marcat ca
256 1 32(256 1) 8161
28
terstur (de codul interior) corespunde la 28 blocuri (cu cte un
32
4
1.9 106
256 256 singur octet terstur) din codul exterior. ntreeserea cu ntrziere
Pe de alt parte, dac am utiliza C2 la capacitatea maxim de de 4 cadre, combinat cu capacitatea de corectare a 4 tersturi a
corectare de erori (toate erorile duble), probabilitatea de eec n lui C1, permit corectarea unui pachet de erori care afecteaz 16
detectarea a trei sau mai multe erori este raportul dintre numrul de iruri consecutive de 588 bii fiecare. Un astfel de pachet de erori
ocup aproximativ 2.8 mm n lungul pistei discului.
131 132

O alt schem de decodare folosete C1 la corectarea unei erori polinomul mesaj este de grad cel mult k 1. Folosind teorema
(care a scpat eventual detectrii lui C2) i a dou tersturi. (cf. mpririi cu rest, putem scrie
nk
Teorema I. 12) X m gq r, cu q, r F[X], grad r n k sau r 0.
nk nk
Interpolare i disimularea erorilor. Eantioanele care nu pot fi Astfel, X m r gq C. Dac codm m ca c X m r,
corectate de schema de mai sus i snt detectate ca erori snt aceasta este o codare sistematic, deoarece coeficienii lui m apar
nk nk1 n1
marcate ca tersturi. Deoarece eantioanele consecutive snt drept coeficienii lui X , X , , X n c. Practic, la
separate de dou cadre nainte de codare, la finalul decodrii, cnd cuvntul mesaj (coeficienii lui m) se adaug la sfrit simbolurile
aceste eantioane snt readuse n ordinea iniial, este probabil ca de control (coeficienii lui r).
eantioanele vecine s fie corecte sau s fi fost corectate. n acest n aplicaii, mesajul m este binar i nu are lungimea fixat k;
caz, eantionul marcat ters este aproximat prin interpolare biii de control snt adugai la mesaje de lungime k. Aceti bii
liniar folosind eantioanele vecine. Testele au artat c acest de snt cunoscui sub numele de CRC (Cyclic Redundancy Check,
proces este practic indedectabil la audiie. Dac eantioanele Verificare Redundant Ciclic) i se folosesc pentru detectarea
vecine nu snt corecte, se folosete muting. Cu 32 eantioane erorilor. Verificarea de eroare se realizeaz prin testarea dac
naintea pachetului de erori, eantioanele corecte snt treptat cuvntul recepionat (vzut ca polinom) este divizibil cu g. O
micorate pna la apariia pachetului de erori, care e nlocuit de eroare poate trece nedetectat dac i numai dac un vector eroare
eantioane de valoare zero, iar urmtoarele 32 eantioane corecte e (un polinom de grad mai mic ca n) este adunat cuvntului cod c
snt treptat readuse la valoarea real. de mai sus i c e este divizibil cu g. Deoarece g | c, aceasta are
loc dac i numai dac g|e.
Detectare de erori cu CRC (Cyclic Redundancy Check)
8 Propoziie. Un cod ciclic C tip [n, k, d] de generator g poate
Matricea generatoare a unui cod ciclic dat la VI.6 nu este n
form standard, deci codarea corespunztoare nu e sistematic. detecta toate pachetele de erori de lungime n k.
Descriem acum o codare sistematic pentru coduri ciclice, care are Demonstraie. Fie r un pachet de erori de lungime n k i s
importante aplicaii. Codurile binare ciclice snt potrivite pentru presupunem prin reducere la absurd c r nu este detectat de C,
j
detectarea de erori, iar implementarea circuitelor de codare i de adic g|r. Fie j cel mai mare numr natural astfel nct X | r. Cum r
detectare de erori este eficient (folosind linear feedback shift este pachet de erori de lungime n k, aceasta nseamn c
j n
registers). r X s, cu grad s n k. Dar g divide X 1, deci g nu este
j j
Fie C un cod ciclic tip [n, k, d] peste corpul F cu q elemente, g divizibil prin X, adic (X , g) 1. Cum g | X s, rezult c g | s,
polinomul su generator, grad g n k. Deoarece dim C k, imposibil cci grad g grad s.
133 134

Rezultatul urmtor estimeaz proporia de pachete de erori (mai apariie de erori nedetectate e determinat de n k, numrul de
lungi dect n k) care nu snt detectate de C: simboluri de control.

9 Teorem. Din totalul de pachete de erori de lungime 10 Exerciiu. Fie g Fq[X] un polinom ireductibil de grad m.
b n k, proporia celor care nu snt detectate de un cod ciclic C Atunci:
(n k 1) n m
tip [n, k, d] de generator g este: q /(q 1) (dac a) g| X 1, unde n q 1 (Ind: g are toate rdcinile n
(n k ) m
b n k 1) , respectiv q (dac b n k 1). corpul cu q elemente).
Demonstraie. Fie r un pachet de erori de lungime b care b) Dac g este polinomul minimal peste Fq al unui element
i m
ncepe n simbolul i: r X s, unde grad s b 1. Numrm cte primitiv al corpului cu q elemente (un astfel de g se numete
asemenea polinoame s exist: snt q 1 posibiliti pentru primul polinom primitiv), atunci g este de grad m i numrul natural min
n m
coeficient (orice element nenul al lui F), q 1 pentru ultimul, i q {n N | g divide X 1} (numit ordinul lui g) este q 1.
posibiliti pentru coeficienii dintre acetia, deci avem c) Dac este o rdcina lui g ntr-o extindere E a lui Fq,
2 b2
(q 1) q polinoame s. atunci ordinul lui g este ordinul lui (n sens de ordin al lui n
* m
Eroarea r nu este detectat dac i numai dac g|s, adic s gh, grupul multiplicativ E ). Dac g are ordin q 1, atunci g este
cu h K[X]. Dar grad g n k, deci grad h b 1 (n k). primitiv.
Dac b 1 n k, atunci h e o constant nenul (q 1 posibili- d) Pentru orice polinom h Fq[X] astfel nct (X, h) 1, exist
n
ti). Astfel, raportul dintre numrul de pachete nedetectate i n astfel nct g divide X 1 (cel mai mic numr natural n cu
numrul total de pachete este aceast proprietate se numete iari ordinul lui h).
2 b2 (n k 1)
(q 1)/((q 1) q ) q /(q 1). Presupunem de acum nainte c F este corpul cu 2 elemente F2
Dac b 1 n k, snt q 1 alegeri posibile pentru primul (cazul binar). Din Prop. 8 deducem c orice cod C ciclic tip
coeficient al lui h, q 1 alegeri pentru ultimul coeficient i cte q [n, k, d] cu k n detecteaz o eroare. Considerm o eroare dubl,
alegeri pentru fiecare ceficient intermediar. n total rezult n poziiile i j, deci polinomul eroare este
2 b 1 (n k) 1
(q 1) q polinoame h. Raportul n acest caz este deci i j j ij
e X X X (X 1).
(n k )
q . j
Cum (X , g) 1, e nu este detectat g|e g|X
ij
+ 1. Dac
m
Aceast teorem afirm c probabilitatea de eec n detectarea lungimea mesajului e mai mic dect ordinul lui g (care este 2 1
(n k ) ij
de erori este proporional cu q (independent de lungimea dac g este primitiv), atunci X 1 nu poate fi divizibil cu g,
codului sau de ct de zgomotos e canalul). Deci, probabilitatea de deci orice eroare dubl este detectat.
135 136

Polinoamele generatoare g folosite de obicei n practic pentru efectuarea unei cutri exhaustive n spaiul polinoamelor binare
CRC snt de forma (X + 1)h unde h este un polinom primitiv binar de grad pn la 32, gsind exemple de polinoame care se comport
de grad m 1. Aceast alegere are la baz faptul c un cod binar mai bine (au distan minim mai mare pentru o lungime de mesaj
ciclic cu polinomul generator g divizibil cu X 1 are toate dat) dect polinoamele n uz n anumite protocoale. Vezi [5], [10].
cuvintele cod de pondere par (demonstrai!). Aceasta asigur
detectarea tuturor vectorilor eroare care au pondere impar (i c
distana minim a codului este cel puin 4). Deci orice cod de acest
tip are distana minim cel puin 4, detecteaz orice pachete de
erori de lungime m, iar probabilitatea de eec in detectarea de
m
erori n mesaje complet aleatoare este 2 .
5 2
Polinomul CRC-5-USB este X + X + 1. Acest polinom e
folosit n standardul USB pentru a proteja pachete token de 11
bii.
Polinoame CRC standard pentru m = 16:
16 15 2
CRC-16 : g X + X + X + 1
16 12 5
CRC-CCITT : g X + X + X + 1,
Pentru m 32, polinomul CRC standard IEEE 802.3 este
32 26 23 22 16 12 11 10 8 7
gX X X X X X X X X X
5 4 2
X X X X1

11 Exerciiu. a) Folosind polinomul CRC-5-USB gsii CRC


pentru cuvntul mesaj 10110011101.
b) Presupunem c 1011 0011 101 00001 este un cuvnt de
lungime 11 concatenat cu CRC-ul su n raport cu polinomul
CRC-5 USB. Verificai dac snt erori.

Aceste polinoame (i altele folosite n variate standarde) adesea


nu snt cea mai bun alegere. Mai muli autori au contribuit la
138

cod bloc corector de erori, 11 concatenarea a dou coduri, 122


cod ciclic, 99 congruen modulo n, 54
cod liniar, 30 construcia (u, u v), 91
cod liniar de tip [n, k, d]q, 31 corector de b-pachete de erori, 120
cod MDS, 45 corp, 53
cod perfect, 44 comutativ, 53
Index cod q-ar, 14 coset, 81
cod Reed-Solomon, 104 CRC, 133
cod sistematic, 13 cuvnt, 11

A C cod tip [n, k], 13 cuvnt cod, 14


codare, 13 Cyclic Redundancy Check, 133
alfabet, 10 canal de transmisie, 12
codul binar Golay, 98
alfabet q-ar, 10 canal fr memorie, 13 D
codul de paritate, 33
algebric (element), 59 canal q-ar simetric de probabilitate p,
codul exterior, 122 decodare, 13
algoritm de maxim verosimilitate, 17 12
codul extins, 89 derivat formal, 64
algoritmul de distan minim, 17 canal qSC(p), 13
codul interior, 122 dimensiunea unui cod liniar, 30
aplicaie liniar, 28 canal simetric, 13
coduri diagonal echivalente, 38 dimensiunea unui spaiu liniar, 28
ateptarea de eroare, 20 capacitatea de corectare a unui cod, 17
coduri echivalente pn la o permutare, distana Hamming, 15
capacitatea de detectare a unui cod, 19
B capacitatea unui canal, 21
38 distana minim a unui cod, 16, 17
coduri izometric echivalente, 39 dualul unui cod, 35
baz a unui spaiu liniar, 28 caracteristica unui inel, 62
n
coduri monomial echivalente, 39
baza canonic a lui F , 28 cmp, 53
codurile Reed-Muller binare de ordin r, E
binar, 10 CIRC, 126
93 element primitiv, 67
bit, 10 clase de resturi modulo n, 54
Codurile Reed-Muller binare de ordinul endomorfismul lui Frobenius, 63
bit de paritate., 33 cod, 14
1, 93 extindere de corpuri, 57
byte, 126 Hamming, 37
coeficienii unei combinaii liniare, 27 extindere finit, 60
cod [n, k, d], 19
combinaie liniar, 27
cod BCH, 108
Compact Disc, 124

137
139 140

F inel factor, 56 N rata unui cod liniar, 31


ntreesere, 123 REF, 78
F-liniar (funcie), 28 nucleul unei aplicaii liniare, 29
Irr(x, K), 60 Reiger Bound, 121
F-morfism de spaii liniare, 28
form biliniar simetric, 34
ISBN, 23 O RREF, 79
izometrie, 39
form ealon pe linii, 78 octet, 126
izomorfism, 29
S
forma ealon redus pe linii, 79 ortogonalul, 34
scurtare, 89
form standard a matricei generatoare,
L
75 P sfera de raz r, 16
lider al unui coset, 82 simbol, 10
funcia de entropie, 21 pachet de erori de lungime b, 120
lungime a unui cuvnt, 11 simboluri de control, 13
parametrii (unui cod), 31
G lungimea simboluri de paritate, 13
permutarea ciclic la dreapta, 99
unei combinaii liniare, 27 sindrom, 84
gurire, 87 pivot, 78
lungimea unui cod, 14 sistem de generatori, 27
grad al unui element, 62 polinom monic, 60
lungire, 87 spaii izomorfe, 29
gradul unei extinderi, 60 polinomul enumerator al ponderilor, 69
spaiu liniar, 25
polinomul generator al unui cod ciclic,
I M spaiu liniar factor, 81
101
matrice spaiu vectorial, 25
ideal, 55 polinomul minimal, 59
a unei aplicaii liniare, 30 spaiul soluiilor, 32
identitile MacWilliams, 70 pondere a unui cuvnt, 32
matrice de control, 33 terstur, 19
imaginea unei aplicaii liniare, 29 produs scalar, 34
matrice de paritate, 33 subcorp, 53
inegalitatea BCH, 109 Pronosport, 44
matrice generatoare, 32 subspaiu generat, 27
Inegalitatea Plotkin, 51
inegalitatea Reiger, 121
mesaj, 10 R subspaiu liniar, 26
morfism de inele, 54 subspaiul ortogonal, 34
inegalitatea Singleton, 44 rdcin multipl de ordin m, 64
mulime de informaie, 76 suma direct, 90
inegalitatea Varshamov, 47 rdcin primitiv de ordinul n a
mulime liniar independent, 28
inel, 52 unitii, 102
mulimea de definiie, 103
T
comutativ, 53 rangul unei matrice, 30
tablou Slepian, 82
unitar, 53 rata unui cod, 14
tablou standard, 82
141

teorema fundamental de izomorfism Teorema lui Shannon, 21


pentru inele, 56 transformri elementare, 79

Bibliografie

1. Bertsekas, D.P, Gallager, R.G, Data networks, Prentice Hall,


1987.
2. Betten, A., Braun, M., Fripertinger, H., Kerber, A., Kohnert,
A.,Wassermann, A., Error-Correcting Linear Codes.
Classification by Isometry and Applications, Springer Verlag,
2006.
3. Castagnoli, G., Braeuer, S. & Herrman, M., Optimization of
Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits,
IEEE Trans. on Communications, Vol. 41, No. 6, June 1993.
4. CD-Recordable FAQ, http://www.cdrfaq.org/
5. Fujiwara, T., Kasami, T., Kitai, A. & Lin, S., On the
undetected error probability for shortened Hamming codes,
IEEE Trans. on Communications, vol. 33, no. 6, 1985, pp.570-
573.
6. Gherghe, C., Popescu, D., Criptografie. Coduri. Algoritmi,
Editura Universitii din Bucureti, 2005.
7. Grassl, M., Bounds on the minimum distance of linear codes
and quantum codes. Online available at
http://www.codetables.de. Accessed on 2013-09-10.

142
143 144

8. Hall, J.I, Notes on Coding Theory, Journal, vol. 28(4), page 656715, 1949.
http://www.mth.msu.edu/~jhall/classes/codenotes/coding- (http://netlab.cs.ucla.edu/wiki/files/shannon1949.pdf)
notes.html 19. Standard ECMA-130, Data Interchange on Read-only 120 mm
9. Huffman, W., Pless, V., Fundamentals of Error-Correcting Optical Data Disks (CD-ROM) 2nd edition (June 1996),
Codes, Cambridge University Press 2003. http://www.ecma-
10. Koopman, Philip, 32-Bit Cyclic Redundancy Codes for Internet international.org/publications/standards/Ecma-130.htm
Applications. The International Conference on Dependable 20. van Tilborg, H.C.A., Finite Fields and Error Correcting Codes,
Systems and Networks: 459468 (July 2002), in Handbook of Algebra, vol I, Elsevier Science 1996, p. 397-
http://www.ece.cmu.edu/~koopman/networks/dsn02/dsn02_koo 422.
pman.pdf
11. Lidl, R. and Niederreiter, H., Introduction to Finite Fields and
their Applications, Cambridge University Press, 1994.
12. R. Lidl and H. Niederreiter, Finite Fields, Addison-Wesley,
1983.
13. Ling, S., Xing, C., Coding Theory. A First Course, Cambridge
University Press, 2004.
14. MacWilliams, F. J., and Sloane, N. J. A., The Theory of Error-
Correcting Codes, vol. 1 and 2, North Holland, 1977.
15. Moreira, J. C., Farrell, P.G, Essentials of Error-Control Coding,
John Wiley & Sons Ltd, 2006.
16. Shannon, C.E., A Mathematical Theory of Communication, Bell
Systems Technical Journal 27, 623-656 (1948).
17. Shannon, C.E., Communications in the presence of noise,
Proceedings of the IEEE, 37, 10-21 (1949).
18. Shannon, C.E., Communication Theory of Secrecy Systems,
(initially A Mathematical Theory of Cryptography,
Memorandum MM 45-110-02, Sept. 1, 1945, Bell Laboratories,
confidential report), declassified in Bell System Technical

S-ar putea să vă placă și