Constructie van codes
In de veeltermring Z/2Z[X] nemen we de veelterm Xn+ 1 met n>1. Zij S de restklassenring Z/2Z[X]/(Xn+ 1 ). Deze draagt de structuur van een vectorruimte over het lichaam Z/2Z met basis 1 , . . . , Xn-1 . Elk element uit S kunnen we dus voorstellen door de coördinaatvector ten opzichte van deze basis en omgekeerd:

a = a0+a1X+· · · +an-1Xn-1 -> a=(a0,a1, . . . , an-1).

De veelterm Xn+ 1 is reducibel als n>1: zij is deelbaar door X+ 1. Zij gZ/2Z [X] een veelterm die Xn+ 1 deelt en noem het quotiënt h.

Definitie

Laat g een deler van Xn-1 in S=Z/2Z[X] zijn. Het beeld onder de lineaire afbeelding

f: Z/2Z[X] -> S,

a -> ag

heet de cyclische code van lengte n voortgebracht door g.

Zij l de graad van g en schrijf k = n-l. De elementen g , Xg ... , Xk-1g vormen een basis voor de beeldruimte van de afbeelding. De dimensie van de beeldruimte is dus gelijk aan n-l=k. We noemen C ook wel de code voortgebracht door g. Het polynoom g wordt dan de voortbrenger van C genoemd, en het polynoom h het checkpolynoom van C.

We zullen bovenstaande gebruiken om een informatievector uit (Z/2Z) k om te zetten in een codewoord in C. Dit doen we als volgt: Zij a=(a0, . . . ,ak-1) een vector in (Z/2Z) k. Vorm het polynoom a=a0+a1X+· · · +ak-1Xk-1. Beschouw nu f(a)= c0+ c1 X +· · · + cn-1 Xn-1 . Hierbij hoort het codewoord c=( c0, . . . , cn-1). De informatievector a wordt omgezet in het codewoord c.