Documente Academic
Documente Profesional
Documente Cultură
Cuprins
2
4
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
Unele notaii
7
10
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
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
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
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
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.
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
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
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
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
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].
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:
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
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
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
Exerciii
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
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
137
139 140
Bibliografie
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